home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_c14.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
131KB
|
6,772 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_c.h"
/*No:CST_ATT_INTEGER.base_class*/
/*No:CST_ATT_INTEGER.value_mem*/
T0* r213start_position(T213* C){
T0* R=NULL;
R=X83start_position(/*(IRF4.6first_name*/r85item(((T85*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r213is_merge_with(T213* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X93result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X93arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X54is_a_in((C)->_result_type/*20*/,X93result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r187is_a_in((T187*)(/*(IRF4.1arguments*/NULL/*)*/),X93arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X54is_a_in(X93result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r187is_a_in((T187*)(X93arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r213merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_INTEGER.first_name*/
/*No:CST_ATT_INTEGER.em1*/
/*No:CST_ATT_INTEGER.header_comment*/
/*No:CST_ATT_INTEGER.names*/
/*No:CST_ATT_INTEGER.result_type*/
/*No:CST_ATT_INTEGER.code_require*/
/*No:CST_ATT_INTEGER.make_e_feature*/
void r213add_into(T213* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r70base_class((T70*)(X83start_position(r85item((T85*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r85count((T85*)((C)->_names/*8*/))))) {
_fn=r85item((T85*)((C)->_names/*8*/),_i);
/*[IF*/
if(r92has(((T92*)a1),X83to_key(_fn))){
_fn=/*X93first_name*/((T0*)/*(IRF4.6first_name*/r85item(((T85*)(((T199*)(r92at(((T92*)a1),X83to_key(_fn))))->_names/*8*/)),1)/*)*/);
r21add_position(X83start_position(_fn));
r21add_position(X83start_position(r85item((T85*)((C)->_names/*8*/),_i)));
r21error((T21*)(oBC12eh),((T0*)ms93_41905));
/*[IRF3.6append*/{T0* b1=X83to_string(_fn);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
else{
r92put(((T92*)a1),(T0*)C,X83to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r213can_hide(T213* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X93result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
r21add_position(X93start_position(a1));
r213error(r213start_position(C),((T0*)ms93_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X93arguments(a1)))){
/*[IF*/
{/*AT*/r21add_position(X93start_position(a1));
r213error(r213start_position(C),((T0*)ms93_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X54is_a_in((C)->_result_type/*20*/,X93result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms93_54285);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)a2))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r213merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_INTEGER.ensure_assertion*/
T0* r213try_to_undefine(T213* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r21add_position(X83start_position(a1));
_fn2=r85feature_name((T85*)((C)->_names/*8*/),X83to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X83undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r213try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X284set_clients*//*[IRF3.3set_clients*/((((T287*)(((T287*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r213merge_header_comments(C,R);
}
else{
r63fatal_undefine(((T63*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_INTEGER.is_deferred*/
T0*oBC93assertion_collector=NULL;
/*No:CST_ATT_INTEGER.set_clients*/
/*No:CST_ATT_INTEGER.value*/
/*No:CST_ATT_INTEGER.nb_errors*/
T0* r213to_run_feature(T213* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X54run_class(a1);
R=r24at(((T24*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 376:
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T376*n=malloc(sizeof(*n));
*n=M376;
r376make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r213merge_header_comments(T213* C,T0* a1){
/*[IF*/
if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/);
}
else if((/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X93set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_INTEGER.arguments*/
T0*oBC93header_comment_memory=NULL;
/*No:CST_ATT_INTEGER.require_assertion*/
T0*oBC93require_collector=NULL;
T0* r213try_to_undefine_aux(T213* C,T0* a1,T0* a2){
T0* R=NULL;
r21add_position(r213start_position(C));
r213error(X83start_position(a1),((T0*)ms201_99414));
r63fatal_undefine(((T63*)a2),a1);
return R;
}
/*No:CST_ATT_INTEGER.fz_dot*/
/*No:CST_ATT_INTEGER.stupid_switch*/
void r213error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r213make(T213* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T213*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
C->_value_mem=a3;
}
void r213collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r358fast_has((T358*)(oBC93require_collector),_er))){
r358add_last((T358*)(oBC93require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_INTEGER.set_header_comment*/
/*No:CST_ATT_INTEGER.clients*/
T0* r84for_infix(T0* a1){
T0* R=NULL;
R=r84key_for_prefix_infix(((T0*)ms84_1728),a1);
return R;
}
/*No:UNIQUE_STRING.us_fclose*/
/*No:UNIQUE_STRING.us_shift_left*/
/*No:UNIQUE_STRING.us_put_1*/
/*No:UNIQUE_STRING.us_maximum_character_code*/
T0*oBC84memory=NULL;
/*No:UNIQUE_STRING.us_real_ref*/
/*No:UNIQUE_STRING.us_die_with_code*/
/*No:UNIQUE_STRING.us_is_equal*/
/*No:UNIQUE_STRING.us_boolean_ref*/
/*No:UNIQUE_STRING.us_item*/
/*No:UNIQUE_STRING.us_integer*/
/*No:UNIQUE_STRING.us_with_capacity*/
/*No:UNIQUE_STRING.us_minimum_integer*/
/*No:UNIQUE_STRING.us_double*/
/*No:UNIQUE_STRING.us_stdin*/
/*No:UNIQUE_STRING.us_maximum_double*/
/*No:UNIQUE_STRING.us_realloc*/
/*No:UNIQUE_STRING.us_se_argc*/
/*No:UNIQUE_STRING.us_se_system*/
/*No:UNIQUE_STRING.us_general*/
/*No:UNIQUE_STRING.us_native_array*/
/*No:UNIQUE_STRING.us_standard_is_equal*/
/*No:UNIQUE_STRING.us_std_neq*/
/*No:UNIQUE_STRING.us_integer_ref*/
/*No:UNIQUE_STRING.us_and_then*/
T0* r84read(T0* a1){
T0* R=NULL;
R=r73at((T73*)(oBC84memory),a1);
return R;
}
/*No:UNIQUE_STRING.us_double_floor*/
/*No:UNIQUE_STRING.us_pointer*/
/*No:UNIQUE_STRING.make*/
/*No:UNIQUE_STRING.us_implies*/
/*No:UNIQUE_STRING.us_platform*/
/*No:UNIQUE_STRING.us_std_output*/
/*No:UNIQUE_STRING.us_memory*/
/*No:UNIQUE_STRING.us_compile_to_jvm*/
/*No:UNIQUE_STRING.us_precursor*/
/*No:UNIQUE_STRING.us_floor*/
/*No:UNIQUE_STRING.us_real_bits*/
/*No:UNIQUE_STRING.us_std_file_read*/
/*No:UNIQUE_STRING.us_standard_copy*/
/*No:UNIQUE_STRING.us_twin*/
/*No:UNIQUE_STRING.us_se_string2double*/
/*No:UNIQUE_STRING.us_minimum_character_code*/
T0* r84item(T0* a1){
T0* R=NULL;
r84initialize();
/*[IF*/
if(r73has((T73*)(oBC84memory),a1)){
R=r84read(a1);
}
else{
R=r7twin(((T7*)a1));
/*[IRF3.6add1*/{T0* b1=R;
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:UNIQUE_STRING.us_from_pointer*/
/*No:UNIQUE_STRING.us_minimum_double*/
/*No:UNIQUE_STRING.us_std_error*/
/*No:UNIQUE_STRING.us_pointer_ref*/
/*No:UNIQUE_STRING.us_sfr_open*/
/*No:UNIQUE_STRING.us_sfw_open*/
/*No:UNIQUE_STRING.us_character_bits*/
/*No:UNIQUE_STRING.us_maximum_real*/
/*No:UNIQUE_STRING.us_lower*/
/*No:UNIQUE_STRING.us_character_ref*/
/*No:UNIQUE_STRING.us_raise_exception*/
/*No:UNIQUE_STRING.us_current*/
/*No:UNIQUE_STRING.us_minus*/
T0* r84for_precursor(T2 a1,T0* a2){
T0* R=NULL;
r7copy((T7*)(oBC84tmp_string),((T0*)ms84_356));
r2append_in(a1,oBC84tmp_string);
r7append((T7*)(oBC84tmp_string),a2);
R=r84item(oBC84tmp_string);
return R;
}
/*No:UNIQUE_STRING.us_is_expanded_type*/
int fBC84initialize=0;
void r84initialize(void){
if (fBC84initialize==0){
fBC84initialize=1;
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_714);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1990);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_687);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2055);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_9369);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_6510);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_12694);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_9936);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_16588);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_12700);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_4818);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_10890);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_12180);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_14982);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_6412);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_6748);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_12760);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_5598);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_17628);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1256);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_8048);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_6881);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_12969);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1208);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_7696);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_5046);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_16887);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_19334);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_939);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_10800);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_65);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_374);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_62);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_252);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_63);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_9513);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_248);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_61);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_46);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_43);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_222);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1029);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_456);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_8316);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_44);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_95);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_570);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_582);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_48);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_194);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_36);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1053a);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2675);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2695);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
r84add2(((T0*)ms14_22704));
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_6792);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_11896);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
r84add2(((T0*)ms14_29456));
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_13554);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_20868);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_29078);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2840a);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1684);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_19459);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1812);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_15220);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_15720);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_19602);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_23004a);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_24024);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_27482);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_10648);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_13842);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_6936);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1704);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2805a);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_22428);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1712);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_22968);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_30885);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_14130);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_438);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
r84add2(((T0*)ms14_22776));
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_60434);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_34672);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_11264);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_18161);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1764);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2840);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_6852);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1696);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
r84add2(((T0*)ms14_60346));
r84add2(((T0*)ms14_27090));
r84add2(((T0*)ms14_33465));
r84add2(((T0*)ms14_21804));
r84add2(((T0*)ms14_60390));
r84add2(((T0*)ms14_27118));
r84add2(((T0*)ms14_33495));
r84add2(((T0*)ms14_21828));
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_18051);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_23004);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_21372);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2860);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_11616);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_54240);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1053);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2515);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2520);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_32955);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_12879);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_13797);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_8652);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_8610);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_9541);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_14328);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_13050a);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_13050);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_34768);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_13887);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_11456);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_26351);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_11496);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_27790);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_34215);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_27638);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_40613);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_25779);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_7470);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2805);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_7620);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_14112);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_14310);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_17120);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_8925);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_7416);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_22896);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_13113);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_16920);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_17000);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_9156);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_21480);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_57020);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1840);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_2855);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_27651);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_15800);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_9380);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_58420);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_22320);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_13968);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_7404);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms14_1648);
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
}}
/*No:UNIQUE_STRING.us_conforms_to*/
/*No:UNIQUE_STRING.us_generating_type*/
/*No:UNIQUE_STRING.us_count*/
/*No:UNIQUE_STRING.us_exception*/
/*No:UNIQUE_STRING.us_sprintf_pointer*/
/*No:UNIQUE_STRING.us_double_bits*/
/*No:UNIQUE_STRING.us_make*/
/*No:UNIQUE_STRING.us_upper*/
/*No:UNIQUE_STRING.us_boolean_bits*/
/*No:UNIQUE_STRING.us_plus*/
/*No:UNIQUE_STRING.us_print_on*/
/*No:UNIQUE_STRING.us_to_real*/
/*No:UNIQUE_STRING.us_code*/
/*No:UNIQUE_STRING.us_feof*/
/*No:UNIQUE_STRING.us_is_basic_expanded_type*/
/*No:UNIQUE_STRING.us_boolean*/
/*No:UNIQUE_STRING.us_minimum_real*/
/*No:UNIQUE_STRING.us_to_character*/
/*No:UNIQUE_STRING.us_muls*/
/*No:UNIQUE_STRING.us_free*/
/*No:UNIQUE_STRING.us_or_else*/
/*No:UNIQUE_STRING.us_slash*/
/*No:UNIQUE_STRING.us_ge*/
/*No:UNIQUE_STRING.us_integer_bits*/
/*No:UNIQUE_STRING.us_none*/
/*No:UNIQUE_STRING.us_string*/
/*No:UNIQUE_STRING.us_element_sizeof*/
/*No:UNIQUE_STRING.us_print*/
/*No:UNIQUE_STRING.us_void*/
/*No:UNIQUE_STRING.us_le*/
T0* r84key_for_prefix_infix(T0* a1,T0* a2){
T0* R=NULL;
T3 _c=0;
T2 _i=0;
r7copy((T7*)(oBC84tmp_string),a1);
_i=1;
while (!((_i)>((((T7*)a2))->_count/*4*/))) {
_c=/*(IRF4.6item*/((((T7*)a2))->_storage/*0*/)[(_i)-(1)]/*)*/;
/*[IF*/
if(r3is_letter(_c)){
r7extend((T7*)(oBC84tmp_string),_c);
}
else{
r2append_in(((unsigned char)_c),oBC84tmp_string);
}
/*FI]*/
_i=(_i)+(1);
}
R=r84item(oBC84tmp_string);
return R;
}
/*No:UNIQUE_STRING.us_sprintf_double*/
/*No:UNIQUE_STRING.us_standard_twin*/
/*No:UNIQUE_STRING.us_storage*/
/*No:UNIQUE_STRING.us_at*/
/*No:UNIQUE_STRING.us_neq*/
/*No:UNIQUE_STRING.us_eq*/
/*No:UNIQUE_STRING.us_pointer_size*/
/*No:UNIQUE_STRING.us_blank*/
/*No:UNIQUE_STRING.us_se_argv*/
/*No:UNIQUE_STRING.us_io*/
/*No:UNIQUE_STRING.us_bit_n_ref*/
/*No:UNIQUE_STRING.us_trace_switch*/
/*No:UNIQUE_STRING.us_read_byte*/
/*No:UNIQUE_STRING.us_native_array_character*/
/*No:UNIQUE_STRING.us_gt*/
/*No:UNIQUE_STRING.us_truncated_to_integer*/
/*No:UNIQUE_STRING.us_se_remove*/
/*No:UNIQUE_STRING.us_se_rename*/
/*No:UNIQUE_STRING.us_lt*/
/*No:UNIQUE_STRING.us_std_file_write*/
/*No:UNIQUE_STRING.us_or*/
/*No:UNIQUE_STRING.us_bit*/
/*No:UNIQUE_STRING.count*/
/*No:UNIQUE_STRING.us_std_input*/
/*No:UNIQUE_STRING.us_signal_number*/
/*No:UNIQUE_STRING.us_print_run_time_stack*/
/*No:UNIQUE_STRING.us_flush_stream*/
/*No:UNIQUE_STRING.us_to_integer*/
/*No:UNIQUE_STRING.us_to_pointer*/
/*No:UNIQUE_STRING.us_pointer_bits*/
T0*oBC84tmp_string=NULL;
/*No:UNIQUE_STRING.us_stderr*/
/*No:UNIQUE_STRING.us_calloc*/
/*No:UNIQUE_STRING.us_copy*/
/*No:UNIQUE_STRING.us_result*/
/*No:UNIQUE_STRING.us_is_not_void*/
/*No:UNIQUE_STRING.us_capacity*/
T0* r84for_prefix(T0* a1){
T0* R=NULL;
R=r84key_for_prefix_infix(((T0*)ms84_1700),a1);
return R;
}
/*No:UNIQUE_STRING.us_compile_to_c*/
/*No:UNIQUE_STRING.us_double_ref*/
/*No:UNIQUE_STRING.us_object_size*/
/*No:UNIQUE_STRING.us_xor*/
/*No:UNIQUE_STRING.us_like_current*/
/*No:UNIQUE_STRING.us_to_double*/
/*No:UNIQUE_STRING.us_clear_all*/
/*No:UNIQUE_STRING.us_shift_right*/
/*No:UNIQUE_STRING.us_exceptions*/
/*No:UNIQUE_STRING.us_not*/
/*No:UNIQUE_STRING.us_slash_slash*/
/*No:UNIQUE_STRING.us_array*/
/*No:UNIQUE_STRING.us_bit_n*/
/*No:UNIQUE_STRING.us_se_getenv*/
/*No:UNIQUE_STRING.us_eof_code*/
/*No:UNIQUE_STRING.add1*/
/*No:UNIQUE_STRING.us_c_inline_c*/
void r84add2(T0* a1){
/*[IF*/
if(((T34*)(oBC12eiffel_parser))->_case_insensitive/*0*/){
r7to_lower(((T7*)a1));
}
/*FI]*/
/*[IRF3.6add1*/{T0* b1=a1;
r73put((T73*)(oBC84memory),b1,b1);
}/*]*/
}
/*No:UNIQUE_STRING.us_malloc*/
/*No:UNIQUE_STRING.us_dictionary*/
/*No:UNIQUE_STRING.us_fixed_array*/
/*No:UNIQUE_STRING.us_character*/
/*No:UNIQUE_STRING.us_put*/
/*No:UNIQUE_STRING.us_to_bit*/
/*No:UNIQUE_STRING.us_generator*/
/*No:UNIQUE_STRING.us_backslash_backslash*/
/*No:UNIQUE_STRING.us_maximum_integer*/
/*No:UNIQUE_STRING.us_put_0*/
/*No:UNIQUE_STRING.us_stdout*/
/*No:UNIQUE_STRING.us_write_byte*/
/*No:UNIQUE_STRING.us_c_inline_h*/
/*No:UNIQUE_STRING.us_any*/
/*No:UNIQUE_STRING.us_real*/
/*No:UNIQUE_STRING.us_and*/
/*No:UNIQUE_STRING.us_bitn*/
/*No:UNIQUE_STRING.us_pow*/
/*No:EIFFEL_PARSER.last_instruction*/
/*No:EIFFEL_PARSER.fz_frozen*/
T0* r34a_alias(T34* C){
T0* R=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_2685))){
/*[IF*/
if(r34a_manifest_string(C)){
R=((T171*)((C)->_last_manifest_string/*145*/))->_to_string/*8*/;
}
else{
r34fcp(C,((T0*)ms34_63264));
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r34a_type_formal_generic(T34* C){
T6 R=0;
T2 _rank=0;
T0* _cn=NULL;
T0* _fga=NULL;
/*[IF*/
if(((C)->_formal_generic_list/*37*/)!=((void*)(NULL))){
_rank=1;
while (!((R)||((_rank)>(/*(IRF4.6count*/(((T279*)(((T94*)((C)->_formal_generic_list/*37*/))->_list/*4*/)))->_upper/*8*//*)*/)))) {
_fga=/*(IRF4.6item*/r279item(((T279*)(((T94*)((C)->_formal_generic_list/*37*/))->_list/*4*/)),_rank)/*)*/;
/*[IF*/
if(r34a_keyword(C,((T64*)((((T278*)_fga))->_name/*0*/))->_to_string/*0*/)){
{T64*n=malloc(sizeof(*n));
*n=M64;
r64make(n,((T64*)((((T278*)_fga))->_name/*0*/))->_to_string/*0*/,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
_cn=(T0*)n;
}
{T280*n=malloc(sizeof(*n));
*n=M280;
r280make(n,_cn,_rank);
C->_last_type_formal_generic=(T0*)n;
}
R=1;
}
/*FI]*/
_rank=(_rank)+(1);
}
}
/*FI]*/
return R;
}
T6 r34end_of_input(T34* C){
T6 R=0;
R=((C)->_cc/*24*/)==('\0');
return R;
}
void r34err_exp(T0* a1,T0* a2){
T0* _msg=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,0);
_msg=(T0*)n;
}
r7append(((T7*)_msg),((T0*)ms34_48949));
r7append(((T7*)_msg),a2);
r7append(((T7*)_msg),((T0*)ms34_10120));
r21add_position(a1);
/*[IRF3.6fatal_error*/{T0* b1=_msg;
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*No:EIFFEL_PARSER.fz_then*/
/*No:EIFFEL_PARSER.formal_generic_list*/
/*No:EIFFEL_PARSER.fz_indexing*/
T6 r34a_rename_pair(T34* C){
T6 R=0;
T0* _rename_pair=NULL;
T0* _name1=NULL;
/*[IF*/
if(r34a_feature_name(C)){
_name1=(C)->_last_feature_name/*105*/;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_430))){
/*[IF*/
if(r34a_feature_name(C)){
R=1;
{T88*n=malloc(sizeof(*n));
*n=M88;
r88make(n,_name1,(C)->_last_feature_name/*105*/);
_rename_pair=(T0*)n;
}
r79add_rename((T79*)((C)->_last_parent/*149*/),_rename_pair);
}
else{
r34fcp(C,((T0*)ms34_121210));
}
/*FI]*/
}
else{
/*[IRF3.6go_back*/{T34* C1=C;
T0* b1=X83start_position(_name1);
r34go_back_at(C1,/*(IRF4.6line*/((((T70*)b1))->_mem_line_column/*4*/)/(1000)/*)*/,/*(IRF4.6column*/((((T70*)b1))->_mem_line_column/*4*/)%(1000)/*)*/);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_feature_name*/
/*No:EIFFEL_PARSER.fz_when*/
/*No:EIFFEL_PARSER.last_parent*/
T0* r34last_result(T34* C){
T0* R=NULL;
T0* _sp=NULL;
_sp=r109start_position((T109*)(oBC34tmp_name));
/*[IF*/
if((C)->_inside_function/*29*/){
/*[IF*/
if((C)->_inside_once_function/*33*/){
{T155*n=malloc(sizeof(*n));
*n=M155;
/*[IRF3.3make*/((((T155*)(n)))->_start_position)=(_sp);
/*]*/
R=(T0*)n;
}
}
else{
{T156*n=malloc(sizeof(*n));
*n=M156;
/*[IRF3.3make*/((((T156*)(n)))->_start_position)=(_sp);
/*]*/
R=(T0*)n;
}
}
/*FI]*/
}
else{
r21add_position(_sp);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_116820);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.us_integer*/
void r34a_function_call(T34* C){
T0* _implicit_current=NULL;
T0* _sfn=NULL;
_sfn=r109to_simple_feature_name((T109*)(oBC34tmp_name));
{T193*n=malloc(sizeof(*n));
*n=M193;
/*[IRF3.3make*/((((T193*)(n)))->_start_position)=((((T148*)_sfn))->_start_position/*8*/);
/*]*/
_implicit_current=(T0*)n;
}
r34a_r10(C,0,_implicit_current,_sfn,r34a_actuals(C));
}
T6 r34a_real_constant(T34* C){
T6 R=0;
T2 _c=0;
T2 _l=0;
_l=(C)->_line/*16*/;
_c=(C)->_column/*12*/;
/*[IF*/
if(r34skip1(C,'\53')){
/*[IF*/
if(r34a_real(C)){
r70set_line_column((T70*)(((T173*)((C)->_last_real_constant/*153*/))->_start_position/*4*/),_l,_c);
R=1;
}
else{
r34go_back_at(C,_l,_c);
}
/*FI]*/
}
else if(r34skip1(C,'\55')){
/*[IF*/
if(r34a_real(C)){
r70set_line_column((T70*)(((T173*)((C)->_last_real_constant/*153*/))->_start_position/*4*/),_l,_c);
/*[IRF3.5unary_minus*/r7add_first(((T7*)(((T173*)((C)->_last_real_constant/*153*/))->_to_string/*8*/)),'\55');
/*]*/
R=1;
}
else{
r34go_back_at(C,_l,_c);
}
/*FI]*/
}
else if(r34a_real(C)){
R=1;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_feature*/
T6 r34a_assignment_or_call(T34* C){
T6 R=0;
/*[IF*/
if((r34skip1(C,'\50'))&&(r34a_expression(C))){
R=1;
/*[IF*/
if(r34skip1(C,'\51')){
r34a_r10(C,1,(C)->_last_expression/*97*/,NULL,NULL);
}
else{
r34fcp(C,((T0*)ms34_11245));
}
/*FI]*/
}
else if(r34a_precursor(C,1)){
R=1;
}
else if(r34a_identifier(C)){
R=1;
/*[IF*/
if(r34skip2(C,'\72','\75')){
r34a_assignment_aux(C,1);
}
else if(r34skip2(C,'\77','\75')){
r34a_assignment_aux(C,0);
}
else if((((r34a_current(C))||(r34a_result(C)))||(r34a_local_variable(C)))||(r34a_argument(C))){
r34a_r10(C,1,(C)->_last_expression/*97*/,NULL,NULL);
}
else{
r34a_procedure_call(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_debug*/
/*No:EIFFEL_PARSER.us_native_array*/
T6 r34a_strip(T34* C){
T6 R=0;
T0* _sp=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_2885))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r34skip1(C,'\50')){
C->_ok=r34a_feature_name_list(C);
{T147*n=malloc(sizeof(*n));
*n=M147;
r147make(n,_sp,(C)->_last_feature_name_list/*109*/);
C->_last_expression=(T0*)n;
}
/*[IF*/
if(!(r34skip1(C,'\51'))){
r34fcp(C,((T0*)ms34_80379));
}
/*FI]*/
R=1;
}
else{
r34fcp(C,((T0*)ms34_65660));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_loop*/
T0*oBC34faof=NULL;
void r34disconnect(T34* C){
C->_is_running=0;
/*[IRF3.3unset_is_ready*/((((T72*)((T72*)(oBC12parser_buffer))))->_path)=(NULL);
/*]*/
}
/*No:EIFFEL_PARSER.us_pointer*/
void r34a_indexing(T34* C){
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_11000))){
while (!(!(r34a_index_clause(C)))) {
C->_ok=r34skip1(C,'\73');
}
}
/*FI]*/
}
/*No:EIFFEL_PARSER.make*/
T0* r34a_actuals(T34* C){
T0* R=NULL;
T0* _remainder=NULL;
T0* _first_one=NULL;
/*[IF*/
if(r34skip1(C,'\50')){
while (!(!(r34a_actual(C)))) {
/*[IF*/
if((_first_one)==((void*)(NULL))){
_first_one=(C)->_last_expression/*97*/;
}
else{
/*[IF*/
if((_remainder)==((void*)(NULL))){
{T151*n=malloc(sizeof(*n));
*n=M151;
r151with_capacity(n,4);
_remainder=(T0*)n;
}
}
/*FI]*/
X151add_last(_remainder,(C)->_last_expression/*97*/);
}
/*FI]*/
/*[IF*/
if((!(r34skip1(C,'\54')))&&(((C)->_cc/*24*/)!=('\51'))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_9410);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*[IF*/
if((_first_one)==((void*)(NULL))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_57660);
r34warning(r34current_position(C1),b1);
}/*]*/
}
else{
{T149*n=malloc(sizeof(*n));
*n=M149;
r149make_n(n,_first_one,_remainder);
R=(T0*)n;
}
}
/*FI]*/
/*[IF*/
if(!(r34skip1(C,'\51'))){
r34fcp(C,((T0*)ms34_65695));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r34a_clients(T34* C){
T0* R=NULL;
T2 _state=0;
T0* _list=NULL;
T0* _sp=NULL;
/*[IF*/
if(r34skip1(C,'\173')){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
while (!((_state)>(3))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r34a_base_class_name(C)){
{T195*n=malloc(sizeof(*n));
*n=M195;
/*[IRF3.3make_1*/((((T195*)(n)))->_first)=((C)->_last_class_name/*89*/);
/*]*/
_list=(T0*)n;
}
_state=2;
}
else if(r34skip1(C,'\175')){
_state=4;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_48195);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\54');
}
else{
_state=3;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r34a_base_class_name(C)){
r195add_last(((T195*)_list),(C)->_last_class_name/*89*/);
_state=2;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_48195);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\54');
}
else if(((C)->_cc/*24*/)==('\175')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_26923);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\175');
_state=4;
}
else{
_state=3;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r34skip1(C,'\54')){
_state=1;
}
else if(r34skip1(C,'\175')){
_state=4;
}
else if(r34a_base_class_name(C)){
r34warning(((T64*)((C)->_last_class_name/*89*/))->_start_position/*4*/,((T0*)ms34_9410));
r195add_last(((T195*)_list),(C)->_last_class_name/*89*/);
}
else{
_state=3;
}
/*FI]*/
}
else{r34fcp(C,((T0*)ms34_20247));
_state=4;
}}
}
{T101*n=malloc(sizeof(*n));
*n=M101;
r101make(n,_sp,_list);
R=(T0*)n;
}
}
else{
{T101*n=malloc(sizeof(*n));
*n=M101;
/*[IRF3.1omitted*//*]*/
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.us_implies*/
T0*oBC34tmp_name=NULL;
/*No:EIFFEL_PARSER.fz_c_inlinewithcurrent*/
void r34a_feature_clause(T34* C){
T0* _comment=NULL;
T0* _clients=NULL;
T0* _feature_clause=NULL;
_clients=r34a_clients(C);
_comment=r34get_comments(C);
/*X99clear*//*[IRF3.3clear*/((((T99*)((T99*)(oBC34faof))))->_upper)=(-(1));
/*]*/
while (!(!(r34a_feature_declaration(C)))) {
C->_ok=r34skip1(C,'\73');
/*[IF*/
if(((C)->_last_feature_declaration/*101*/)!=((void*)(NULL))){
X99add_last(oBC34faof,(C)->_last_feature_declaration/*101*/);
X93set_header_comment((C)->_last_feature_declaration/*101*/,r34get_comments(C));
}
/*FI]*/
}
/*[IF*/
if(!(X99empty(oBC34faof))){
{T96*n=malloc(sizeof(*n));
*n=M96;
r96make(n,_clients,_comment,X99twin(oBC34faof));
_feature_clause=(T0*)n;
}
r63add_feature_clause((T63*)((C)->_last_base_class/*65*/),_feature_clause);
}
else if((_comment)!=((void*)(NULL))){
{T96*n=malloc(sizeof(*n));
*n=M96;
r96make(n,_clients,_comment,NULL);
_feature_clause=(T0*)n;
}
r63add_feature_clause((T63*)((C)->_last_base_class/*65*/),_feature_clause);
}
/*FI]*/
C->_last_keyword=NULL;
}
/*No:EIFFEL_PARSER.us_precursor*/
/*No:EIFFEL_PARSER.fz_inherit*/
/*No:EIFFEL_PARSER.fz_variant*/
/*No:EIFFEL_PARSER.fz_inspect*/
/*No:EIFFEL_PARSER.last_character_constant*/
/*No:EIFFEL_PARSER.last_class_type*/
/*No:EIFFEL_PARSER.last_class_name*/
/*No:EIFFEL_PARSER.last_ascii_code*/
/*No:EIFFEL_PARSER.line*/
/*No:EIFFEL_PARSER.fz_require*/
/*No:EIFFEL_PARSER.fz_invariant*/
T6 r34a_integer(T34* C){
T6 R=0;
T2 _value=0;
T2 _state=0;
/*[IF*/
if(r3is_digit((C)->_cc/*24*/)){
R=1;
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
_value=r3value((C)->_cc/*24*/);
while (!((_state)>(7))) {
r34next_char(C);
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=1;
}
else
if((95==z2)){
_state=4;
}
else{_state=8;
}}
}
else
if((1==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=2;
}
else
if((95==z2)){
_state=4;
}
else{_state=8;
}}
}
else
if((2==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=3;
}
else
if((95==z2)){
_state=4;
}
else{_state=8;
}}
}
else
if((3==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
}
else
if((95==z2)){
r34fcp(C,((T0*)ms34_98851));
}
else{_state=8;
}}
}
else
if((4==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=5;
}
else{r34fcp(C,((T0*)ms34_98851));
}}
}
else
if((5==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=6;
}
else{r34fcp(C,((T0*)ms34_98851));
}}
}
else
if((6==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((C)->_cc/*24*/));
_state=7;
}
else{r34fcp(C,((T0*)ms34_98851));
}}
}
else {{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r34fcp(C,((T0*)ms34_98851));
}
else
if((95==z2)){
_state=4;
}
else{_state=8;
}}
}}
}
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
r34fcp(C,((T0*)ms34_31689));
}
/*FI]*/
r34skip_comments(C);
{T174*n=malloc(sizeof(*n));
*n=M174;
r174make(n,_value,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_integer_constant=(T0*)n;
}
}
/*FI]*/
return R;
}
T0* r34current_position(T34* C){
T0* R=NULL;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_line/*16*/,(C)->_column/*12*/);
R=(T0*)n;
}
return R;
}
T0*oBC34forbidden_class=NULL;
T6 r34a_manifest_string(T34* C){
T6 R=0;
T2 _state=0;
/*[IF*/
if(((C)->_cc/*24*/)==('\42')){
R=1;
{T171*n=malloc(sizeof(*n));
*n=M171;
r171make(n,r34pos((C)->_line/*16*/,(C)->_column/*12*/));
C->_last_manifest_string=(T0*)n;
}
while (!((_state)>(3))) {
r34next_char(C);
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if((10==z2)){
r34fcp(C,((T0*)ms34_91143));
}
else
if((34==z2)){
_state=4;
}
else
if((37==z2)){
_state=1;
}
else{/*[IRF3.5add*/r7extend(((T7*)(((T171*)((C)->_last_manifest_string/*145*/))->_to_string/*8*/)),(C)->_cc/*24*/);
/*]*/
}}
}
else
if((1==z1)){
_state=0;
{int z2=(C)->_cc/*24*/;
if((10==z2)){
_state=3;
}
else
if((65==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\100');
}
else
if((66==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\10');
}
else
if((67==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\136');
}
else
if((68==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\44');
}
else
if((70==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\14');
}
else
if((72==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\134');
}
else
if((76==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\176');
}
else
if((78==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\n');
}
else
if((81==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\140');
}
else
if((82==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\15');
}
else
if((83==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\43');
}
else
if((84==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\11');
}
else
if((85==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\0');
}
else
if((86==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\174');
}
else
if((37==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\45');
}
else
if((39==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\47');
}
else
if((34==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\42');
}
else
if((40==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\133');
}
else
if((41==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\135');
}
else
if((60==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\173');
}
else
if((62==z2)){
r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\175');
}
else
if((47==z2)){
r34a_ascii_code(C);
r171add_ascii((T171*)((C)->_last_manifest_string/*145*/),((T3)((C)->_last_ascii_code/*61*/)));
}
else
if((9==z2)||(32==z2)){
_state=2;
}
else{r34fcp(C,((T0*)ms34_45084a));
_state=0;
}}
}
else
if((2==z1)){
{int z2=(C)->_cc/*24*/;
if((10==z2)){
_state=3;
}
else
if((9==z2)||(32==z2)){
}
else{r34fcp(C,((T0*)ms34_192660));
}}
}
else{{int z2=(C)->_cc/*24*/;
if((9==z2)||(32==z2)){
}
else
if((37==z2)){
r171break_line((T171*)((C)->_last_manifest_string/*145*/));
_state=0;
}
else
if((10==z2)){
r34fcp(C,((T0*)ms34_91143));
_state=0;
}
else{r34fcp(C,((T0*)ms34_204786));
_state=0;
}}
}}
}
r34next_char(C);
r34skip_comments(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_jvm_invokestatic*/
void r34a_class_declaration(T34* C){
T6 _drop_comments_save=0;
T0* _al=NULL;
T0* _hc=NULL;
T0* _sp=NULL;
r34a_indexing(C);
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_10664))){
r63set_is_deferred((T63*)((C)->_last_base_class/*65*/));
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_10840))){
r63set_is_expanded((T63*)((C)->_last_base_class/*65*/));
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_10664))){
r63set_is_deferred((T63*)((C)->_last_base_class/*65*/));
}
/*FI]*/
}
/*FI]*/
/*[IRF3.3set_heading_comment1*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_heading_comment1)=(r34get_comments(C));
/*]*/
/*[IF*/
if(!(r34a_keyword(C,((T0*)ms13_2745)))){
r34fcp(C,((T0*)ms34_42300));
}
/*FI]*/
r34a_base_class_name1(C);
r34a_formal_generic_list(C);
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_10928))){
/*[IF*/
if(r34a_manifest_string(C)){
/*[IRF3.3set_obsolete_type_string*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_obsolete_type_string)=((C)->_last_manifest_string/*145*/);
/*]*/
}
else{
r34fcp(C,((T0*)ms34_125396));
}
/*FI]*/
}
/*FI]*/
/*[IRF3.3set_heading_comment2*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_heading_comment2)=(r34get_comments(C));
/*]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_9527))){
r34a_parent_list(C,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),r34get_comments(C));
}
/*FI]*/
while (!(!(r34a_keyword(C,((T0*)ms13_11376))))) {
r34a_creation_clause(C,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
}
while (!(!(r34a_keyword(C,((T0*)ms13_8785))))) {
r34a_feature_clause(C);
}
_drop_comments_save=(C)->_drop_comments/*4*/;
C->_drop_comments=0;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_14427))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
_hc=r34get_comments(C);
_al=r34a_assertion(C);
r63set_invariant((T63*)((C)->_last_base_class/*65*/),_sp,_hc,_al);
}
/*FI]*/
/*[IF*/
if((r34a_keyword(C,((T0*)ms13_951)))||(((C)->_last_keyword/*113*/)==((void*)(((T0*)ms13_951))))){
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms13_41475);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
}
/*FI]*/
/*[IRF3.3set_end_comment*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_end_comment)=(r34get_comments(C));
/*]*/
/*[IF*/
if(((C)->_cc/*24*/)!=('\0')){
r34fcp(C,((T0*)ms34_29463));
}
/*FI]*/
}
else{
r34fcp(C,((T0*)ms34_117540));
}
/*FI]*/
C->_drop_comments=_drop_comments_save;
}
/*No:EIFFEL_PARSER.last_base_class*/
void r34a_after_a_dot(T34* C,T6 a1,T0* a2){
T0* _eal=NULL;
T0* _sfn=NULL;
/*[IF*/
if(r34a_identifier(C)){
/*[IF*/
if(((r34a_result(C))||(r34a_void(C)))||(r34a_current(C))){
r21add_position(X56start_position((C)->_last_expression/*97*/));
r21error((T21*)(oBC12eh),((T0*)ms34_83714));
}
/*FI]*/
_sfn=r109to_simple_feature_name((T109*)(oBC34tmp_name));
_eal=r34a_actuals(C);
r34a_r10(C,a1,a2,_sfn,_eal);
}
else{
r34fcp(C,((T0*)ms34_63584));
}
/*FI]*/
}
/*No:EIFFEL_PARSER.nb_errors*/
T6 r34a_actual(T34* C){
T6 R=0;
/*[IF*/
if(r34skip1(C,'\44')){
/*[IF*/
if(r34a_identifier(C)){
/*[IF*/
if(((r34a_result(C))||(r34a_void(C)))||(r34a_current(C))){
r21add_position(X56start_position((C)->_last_expression/*97*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_98482);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
{T160*n=malloc(sizeof(*n));
*n=M160;
/*[IRF3.3make*/((((T160*)(n)))->_feature_name)=(r109to_simple_feature_name((T109*)(oBC34tmp_name)));
/*]*/
C->_last_expression=(T0*)n;
}
R=1;
}
/*FI]*/
}
else{
r34fcp(C,((T0*)ms34_98482));
}
/*FI]*/
}
else if(r34a_expression(C)){
R=1;
}
/*FI]*/
return R;
}
T6 r34a_infix(T34* C){
T6 R=0;
T0* _sp=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_2785))){
R=1;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(((C)->_cc/*24*/)==('\42')){
r34next_char(C);
}
else{
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_85196);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(r34a_binary(C,_sp)){
C->_last_infix=(C)->_last_binary/*73*/;
}
else if(r34a_free_operator(C)){
C->_last_infix=r109to_infix_name(_sp);
}
else{
r34fcp(C,((T0*)ms34_53911));
}
/*FI]*/
/*[IF*/
if(!(r34skip1(C,'\42'))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_38352a);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.us_plus*/
void r34a_parent_list(T34* C,T0* a1,T0* a2){
T0* _list=NULL;
while (!(!(r34a_parent(C)))) {
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma80(1,
(C)->_last_parent/*149*/);
}
else{
r80add_last(((T80*)_list),(C)->_last_parent/*149*/);
}
/*FI]*/
C->_ok=r34skip1(C,'\73');
/*[IRF3.3set_comment*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_comment)=(r34get_comments(C));
/*]*/
}
/*[IF*/
if(((a2)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))){
/*[IF*/
if((_list)==((void*)(NULL))){
/*[IF*/
if((((T63*)((C)->_last_base_class/*65*/))->_heading_comment2/*32*/)==((void*)(NULL))){
/*[IRF3.3set_heading_comment2*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_heading_comment2)=(a2);
/*]*/
}
else{
r82append((T82*)(((T63*)((C)->_last_base_class/*65*/))->_heading_comment2/*32*/),a2);
}
/*FI]*/
}
else{
r63set_parent_list((T63*)((C)->_last_base_class/*65*/),a1,a2,_list);
}
/*FI]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_check*/
/*No:EIFFEL_PARSER.us_muls*/
/*No:EIFFEL_PARSER.cc*/
void r34prev_char(T34* C){
/*[IF*/
if(((C)->_column/*12*/)>(1)){
C->_column=((C)->_column/*12*/)-(1);
C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
}
else{
/*[IF*/
if(((C)->_line/*16*/)>(1)){
C->_line=((C)->_line/*16*/)-(1);
C->_current_line=r72item((C)->_line/*16*/);
C->_column=(((T7*)((C)->_current_line/*20*/))->_count/*4*/)+(1);
C->_cc='\n';
}
else{
C->_column=0;
C->_cc='\0';
}
/*FI]*/
}
/*FI]*/
}
T6 r34a_inspect(T34* C){
T6 R=0;
T0* _ec=NULL;
T0* _i=NULL;
T0* _spec=NULL;
T0* _sp=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_9590))){
R=1;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r34a_expression(C)){
C->_last_expression=X56add_comment((C)->_last_expression/*97*/,r34get_comments(C));
}
else{
r34fcp(C,((T0*)ms34_82621));
}
/*FI]*/
{T232*n=malloc(sizeof(*n));
*n=M232;
r232make(n,_sp,(C)->_last_expression/*97*/);
_i=(T0*)n;
}
while (!(!(r34a_when_part(C,_i)))) {
}
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_1740))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_spec=(T0*)n;
}
_ec=r34a_compound2(C,((T0*)ms34_33180),((T0*)ms13_951));
r232set_else_compound(((T232*)_i),_spec,_ec);
}
else if(!(r34a_keyword(C,((T0*)ms13_951)))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_76932);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
C->_last_instruction=_i;
}
/*FI]*/
return R;
}
T6 r34a_current(T34* C){
T6 R=0;
/*[IF*/
if(r109is_current()){
{T158*n=malloc(sizeof(*n));
*n=M158;
/*[IRF3.3make*/((((T158*)(n)))->_start_position)=(r109start_position((T109*)(oBC34tmp_name)));
/*]*/
C->_last_expression=(T0*)n;
}
R=1;
}
/*FI]*/
return R;
}
void r34a_rename_list(T34* C){
while (!(!(r34a_rename_pair(C)))) {
C->_ok=r34skip1(C,'\54');
}
}
/*No:EIFFEL_PARSER.us_or_else*/
/*No:EIFFEL_PARSER.case_insensitive*/
/*No:EIFFEL_PARSER.last_comments*/
void r34next_char(T34* C){
/*[IF*/
if(((C)->_column/*12*/)<(((T7*)((C)->_current_line/*20*/))->_count/*4*/)){
C->_column=((C)->_column/*12*/)+(1);
C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
}
else if(((C)->_column/*12*/)==(((T7*)((C)->_current_line/*20*/))->_count/*4*/)){
C->_column=((C)->_column/*12*/)+(1);
C->_cc='\n';
}
else if(((C)->_line/*16*/)==(((T72*)(oBC12parser_buffer))->_count/*4*/)){
C->_cc='\0';
}
else{
C->_column=1;
C->_line=((C)->_line/*16*/)+(1);
C->_current_line=r72item((C)->_line/*16*/);
/*[IF*/
if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
C->_cc='\n';
}
else{
C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
}
/*FI]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.us_slash*/
T6 r34a_unary(T34* C){
T6 R=0;
/*[IF*/
if(r34a_keyword(C,((T0*)ms14_1029))){
{T142*n=malloc(sizeof(*n));
*n=M142;
r142make(n,((T0*)ms14_1029),r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_prefix=(T0*)n;
}
R=1;
}
else if(r34skip1(C,'\53')){
{T142*n=malloc(sizeof(*n));
*n=M142;
r142make(n,((T0*)ms14_44),r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_prefix=(T0*)n;
}
R=1;
}
else if(r34skip1(C,'\55')){
{T142*n=malloc(sizeof(*n));
*n=M142;
r142make(n,((T0*)ms14_46),r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_prefix=(T0*)n;
}
R=1;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.drop_comments*/
/*No:EIFFEL_PARSER.ok*/
T0* r34analyse_class(T34* C,T0* a1){
T0* R=NULL;
T0* _path=NULL;
T2 _old_nbw=0;
T2 _old_nbe=0;
_path=((T72*)(oBC12parser_buffer))->_path/*0*/;
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)){
/*[IRF3.6append*/{T0* b1=((T0*)ms34_63808);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
r28put_integer((T28*)(oBC12echo),(/*(IRF4.9base_class_count*/((T66*)(oBC22base_class_dictionary))->_count/*36*//*)*/)+(1));
r28put_character((T28*)(oBC12echo),'\11');
r28put_string((T28*)(oBC12echo),_path);
r28put_character((T28*)(oBC12echo),'\n');
_old_nbe=/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/;
_old_nbw=/*(IRF4.9nb_warnings*/((T21*)(oBC12eh))->_nb_warnings/*0*//*)*/;
C->_is_running=1;
C->_inside_function=0;
C->_inside_once_function=0;
C->_in_ensure=0;
C->_last_comments=NULL;
C->_line=1;
C->_column=1;
C->_current_line=r72item((C)->_line/*16*/);
/*[IF*/
if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
C->_cc='\n';
}
else{
C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
}
/*FI]*/
{T63*n=malloc(sizeof(*n));
*n=M63;
r63make(n);
C->_last_base_class=(T0*)n;
}
r34skip_comments(C);
r34a_class_declaration(C);
C->_is_running=0;
/*[IRF3.3unset_is_ready*/((((T72*)((T72*)(oBC12parser_buffer))))->_path)=(NULL);
/*]*/
R=(C)->_last_base_class/*65*/;
/*[IF*/
if(((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)-(_old_nbe))>(0)){
/*[IRF3.2show_nb_errors*/r34show_nb(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/,((T0*)ms34_6567));
/*]*/
r28w_put_string(((T0*)ms34_10068));
r28w_put_string(_path);
r28w_put_string(((T0*)ms34_5467));
R=NULL;
}
else if(((/*(IRF4.9nb_warnings*/((T21*)(oBC12eh))->_nb_warnings/*0*//*)*/)-(_old_nbw))>(0)){
/*[IRF3.2show_nb_warnings*/r34show_nb(/*(IRF4.9nb_warnings*/((T21*)(oBC12eh))->_nb_warnings/*0*//*)*/,((T0*)ms34_8021));
/*]*/
}
/*FI]*/
/*[IF*/
if((R)!=((void*)(NULL))){
r22add_class((T22*)(oBC12small_eiffel),R);
/*[IF*/
if(((a1)!=((void*)(NULL)))&&(((((T64*)a1))->_to_string/*0*/)!=((void*)(((T64*)((((T63*)R))->_name/*24*/))->_to_string/*0*/)))){
r21add_position((((T64*)a1))->_start_position/*4*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms13_3810);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=_path;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms34_35397);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T64*)a1))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_166);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
r63get_started(((T63*)R));
}
/*FI]*/
return R;
}
void r34skip_comments(T34* C){
T2 _state=0;
T0* _sp=NULL;
while (!((_state)==(2))) {
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if(((9<=z2)&&(z2<=10))||(32==z2)){
r34next_char(C);
}
else
if((45==z2)){
r34next_char(C);
_state=1;
}
else{_state=2;
}}
}
else {{int z2=(C)->_cc/*24*/;
if((45==z2)){
/*[IF*/
if((C)->_drop_comments/*4*/){
}
else{
/*[IF*/
if(((C)->_last_comments/*25*/)==((void*)(NULL))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_line/*16*/,((C)->_column/*12*/)-(1));
_sp=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
r34next_char(C);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC34lcs))))->_count)=(0);
/*]*/
while (!(((C)->_cc/*24*/)==('\n'))) {
r7extend((T7*)(oBC34lcs),(C)->_cc/*24*/);
r34next_char(C);
}
/*[IF*/
if((C)->_drop_comments/*4*/){
}
else{
/*[IF*/
if(((C)->_last_comments/*25*/)==((void*)(NULL))){
{T82*n=malloc(sizeof(*n));
*n=M82;
r82make(n,_sp,se_ma39(1,
r7twin((T7*)(oBC34lcs))));
C->_last_comments=(T0*)n;
}
}
else{
/*[IRF3.5add_last*/r39add_last(((T39*)(((T82*)((C)->_last_comments/*25*/))->_list/*4*/)),r7twin((T7*)(oBC34lcs)));
/*]*/
}
/*FI]*/
}
/*FI]*/
_state=0;
}
else{r34prev_char(C);
_state=2;
}}
}}
}
}
T6 r34a_local_variable(T34* C){
T6 R=0;
T2 _rank=0;
/*[IF*/
if(((C)->_local_vars/*53*/)!=((void*)(NULL))){
_rank=r178rank_of((T178*)((C)->_local_vars/*53*/),r109to_string((T109*)(oBC34tmp_name)));
/*[IF*/
if((_rank)>(0)){
C->_last_expression=r109to_local_name2((T109*)(oBC34tmp_name),(C)->_local_vars/*53*/,_rank);
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.start_line*/
T6 r34a_retry(T34* C){
T6 R=0;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_2905))){
/*[IF*/
if(!((C)->_in_rescue/*45*/)){
r34error(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms34_115380));
}
/*FI]*/
{T231*n=malloc(sizeof(*n));
*n=M231;
/*[IRF3.3make*/((((T231*)(n)))->_start_position)=(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*]*/
C->_last_instruction=(T0*)n;
}
R=1;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.arguments*/
T6 r34a_e10(T34* C){
T6 R=0;
/*[IF*/
if(r34a_strip(C)){
R=1;
}
else if(r34skip1(C,'\50')){
R=1;
/*[IF*/
if(r34a_expression(C)){
/*[IF*/
if(r34skip1(C,'\51')){
r34a_r10(C,0,(C)->_last_expression/*97*/,NULL,NULL);
}
else{
r34fcp(C,((T0*)ms34_40743));
}
/*FI]*/
}
else{
r34fcp(C,((T0*)ms34_29020));
}
/*FI]*/
}
else if(r34a_manifest_constant(C)){
C->_last_expression=(C)->_last_manifest_constant/*141*/;
R=1;
/*[IF*/
if(r34skip1unless2(C,'\56','\56')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_129072);
r34warning(r34current_position(C1),b1);
}/*]*/
r34a_after_a_dot(C,0,(C)->_last_expression/*97*/);
}
/*FI]*/
}
else if(r34a_precursor(C,0)){
R=1;
}
else if(r34a_identifier(C)){
R=1;
/*[IF*/
if(((((r34a_result(C))||(r34a_current(C)))||(r34a_void(C)))||(r34a_local_variable(C)))||(r34a_argument(C))){
r34a_r10(C,0,(C)->_last_expression/*97*/,NULL,NULL);
}
else{
r34a_function_call(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_select*/
T6 r34a_conditional(T34* C){
T6 R=0;
T0* _ifthenelse=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_420))){
R=1;
{T222*n=malloc(sizeof(*n));
*n=M222;
/*[IRF3.3make*/((((T222*)(n)))->_start_position)=(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*]*/
_ifthenelse=(T0*)n;
}
r34a_then_part_list(C,_ifthenelse);
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_1740))){
/*[IRF3.3set_else_compound*/((((T222*)(((T222*)_ifthenelse))))->_else_compound)=(r34a_compound2(C,((T0*)ms34_13644),((T0*)ms13_951)));
/*]*/
}
else{
/*[IF*/
if(!(r34a_keyword(C,((T0*)ms13_951)))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_29240);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
C->_last_instruction=_ifthenelse;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.set_case_insensitive*/
/*No:EIFFEL_PARSER.is_running*/
void r34a_r10(T34* C,T6 a1,T0* a2,T0* a3,T0* a4){
/*[IF*/
if(r34skip1unless2(C,'\56','\56')){
r34a_after_a_dot(C,a1,r34to_call(a2,a3,a4));
}
else{
/*[IF*/
if(a1){
C->_last_instruction=r34to_proc_call(C,a2,a3,a4);
C->_last_expression=NULL;
}
else{
C->_last_expression=r34to_call(a2,a3,a4);
C->_last_instruction=NULL;
}
/*FI]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.last_prefix*/
T0*oBC34tmp_string=NULL;
/*No:EIFFEL_PARSER.last_infix*/
/*No:EIFFEL_PARSER.fz_export*/
T6 r34a_tag_mark(T34* C){
T6 R=0;
/*[IF*/
if(r34a_identifier(C)){
/*[IF*/
if(r34skip1unless2(C,'\72','\75')){
R=1;
C->_last_tag_mark=r109to_tag_name((T109*)(oBC34tmp_name));
}
else{
C->_last_tag_mark=NULL;
r34go_back_at(C,((T109*)(oBC34tmp_name))->_li/*4*/,((T109*)(oBC34tmp_name))->_co/*8*/);
}
/*FI]*/
}
else{
C->_last_tag_mark=NULL;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_feature_name_list*/
/*No:EIFFEL_PARSER.last_manifest_constant*/
/*No:EIFFEL_PARSER.fz_local*/
/*No:EIFFEL_PARSER.fz_jvm_invokevirtual*/
/*No:EIFFEL_PARSER.current_class*/
/*No:EIFFEL_PARSER.last_tag_mark*/
void r34a_base_class_name1(T34* C){
T0* _ccn=NULL;
T6 _do_warning=0;
T2 _state=0;
_ccn=((T63*)((C)->_last_base_class/*65*/))->_name/*24*/;
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
r70set_line_column((T70*)((((T64*)_ccn))->_start_position/*4*/),(C)->_line/*16*/,(C)->_column/*12*/);
r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IF*/
if((((unsigned)((C)->_cc/*24*/))>=((unsigned)('a')))){
_do_warning=1;
C->_cc=r3to_upper((C)->_cc/*24*/);
}
/*FI]*/
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
while (!((_state)>(0))) {
r34next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
}
else
if(((97<=z1)&&(z1<=122))){
_do_warning=1;
/*[IRF3.6extend*/{T3 b1=r3to_upper((C)->_cc/*24*/);
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
}
else{_state=1;
}}
}
r34skip_comments(C);
/*[IF*/
if(r109isa_keyword()){
r21add_position((((T64*)_ccn))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_71470);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(_do_warning){
r34warning((((T64*)_ccn))->_start_position/*4*/,((T0*)ms34_116415));
}
/*FI]*/
r64identify(((T64*)_ccn),r109to_string((T109*)(oBC34tmp_name)));
}
else{
r34fcp(C,((T0*)ms34_71470));
}
/*FI]*/
/*[IF*/
if(r39fast_has((T39*)(oBC34forbidden_class),(((T64*)_ccn))->_to_string/*0*/)){
r21add_position((((T64*)_ccn))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_44356);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_01*/
/*No:EIFFEL_PARSER.fz_03*/
/*No:EIFFEL_PARSER.fz_iinaiv*/
T6 r34a_keyword(T34* C,T0* a1){
T6 R=0;
T2 _keyword_count=0;
T2 _i=0;
_keyword_count=(((T7*)a1))->_count/*4*/;
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
while (!(((_i)==(_keyword_count))||(!(r3same_as((C)->_cc/*24*/,/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/))))) {
_i=(_i)+(1);
r34next_char(C);
}
/*[IF*/
if((_i)==(_keyword_count)){
{int z1=(C)->_cc/*24*/;
if(((9<=z1)&&(z1<=10))||(32==z1)||(45==z1)){
R=1;
C->_last_keyword=a1;
r34skip_comments(C);
}
else
if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)||((97<=z1)&&(z1<=122))){
while (!((_i)==(0))) {
r34prev_char(C);
_i=(_i)-(1);
}
}
else{R=1;
C->_last_keyword=a1;
}}
}
else{
while (!((_i)==(0))) {
r34prev_char(C);
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_until*/
/*No:EIFFEL_PARSER.last_binary*/
T0* r34a_routine_body(T34* C){
T0* R=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_10664))){
r63set_is_deferred((T63*)((C)->_last_base_class/*65*/));
R=r198to_deferred_routine((T198*)(oBC34tmp_feature));
}
else if(r34a_keyword(C,((T0*)ms13_11448))){
R=r34a_external(C);
}
else if(r34a_keyword(C,((T0*)ms13_428))){
/*[IRF3.3set_routine_body*/((((T198*)((T198*)(oBC34tmp_feature))))->_routine_body)=(r34a_compound1(C));
/*]*/
R=r198to_procedure_or_function((T198*)(oBC34tmp_feature));
}
else if(r34a_keyword(C,((T0*)ms13_1724a))){
C->_inside_once_function=1;
/*[IRF3.3set_routine_body*/((((T198*)((T198*)(oBC34tmp_feature))))->_routine_body)=(r34a_compound1(C));
/*]*/
R=r198to_once_routine((T198*)(oBC34tmp_feature));
}
else{
r34fcp(C,((T0*)ms34_34276));
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_expression*/
/*No:EIFFEL_PARSER.fz_59*/
T6 r34a_void(T34* C){
T6 R=0;
/*[IF*/
if(r109is_void()){
C->_last_expression=r109to_e_void((T109*)(oBC34tmp_name));
R=1;
}
/*FI]*/
return R;
}
T6 r34a_class_type(T34* C){
T6 R=0;
T0* _generic_list=NULL;
T0* _base_class_name=NULL;
T2 _state=0;
/*[IF*/
if(r34a_base_type(C)){
C->_last_class_type=(C)->_last_base_type/*69*/;
R=1;
}
else if(r34a_base_class_name(C)){
R=1;
_base_class_name=(C)->_last_class_name/*89*/;
while (!((_state)>(2))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r34skip1(C,'\133')){
_state=1;
}
else{
{T273*n=malloc(sizeof(*n));
*n=M273;
/*[IRF3.3make*/((((T273*)(n)))->_base_class_name)=(_base_class_name);
/*]*/
C->_last_class_type=(T0*)n;
}
_state=3;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r34a_type(C)){
/*[IF*/
if((_generic_list)==((void*)(NULL))){
_generic_list=se_ma261(1,
(C)->_last_type/*157*/);
}
else{
r261add_last(((T261*)_generic_list),(C)->_last_type/*157*/);
}
/*FI]*/
_state=2;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_26277);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\54');
}
else if(((C)->_cc/*24*/)==('\135')){
_state=2;
}
else{
r34fcp(C,((T0*)ms34_25441));
_state=2;
}
/*FI]*/
}
else{/*[IF*/
if(r34skip1(C,'\54')){
_state=1;
}
else if(((C)->_cc/*24*/)==('\135')){
/*[IF*/
if((_generic_list)==((void*)(NULL))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_54404);
r34warning(r34current_position(C1),b1);
}/*]*/
{T273*n=malloc(sizeof(*n));
*n=M273;
/*[IRF3.3make*/((((T273*)(n)))->_base_class_name)=(_base_class_name);
/*]*/
C->_last_class_type=(T0*)n;
}
}
else{
{T274*n=malloc(sizeof(*n));
*n=M274;
r274make(n,_base_class_name,_generic_list);
C->_last_class_type=(T0*)n;
}
}
/*FI]*/
C->_ok=r34skip1(C,'\135');
_state=3;
}
else if(r34a_type(C)){
/*[IF*/
if((_generic_list)==((void*)(NULL))){
_generic_list=se_ma261(1,
(C)->_last_type/*157*/);
}
else{
r261add_last(((T261*)_generic_list),(C)->_last_type/*157*/);
}
/*FI]*/
r34warning(X54start_position((C)->_last_type/*157*/),((T0*)ms34_9410));
}
else{
r34fcp(C,((T0*)ms34_20315));
_state=3;
}
/*FI]*/
}}
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.in_ensure*/
/*No:EIFFEL_PARSER.fz_end*/
/*No:EIFFEL_PARSER.fz_external*/
/*No:EIFFEL_PARSER.inside_function*/
/*No:EIFFEL_PARSER.us_and*/
T0* r34a_assertion(T34* C){
T0* R=NULL;
T2 _state=0;
T0* _assertion=NULL;
T0* _expression=NULL;
T0* _tag=NULL;
while (!((_state)>(3))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms13_41475);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
/*[IF*/
if(((C)->_last_comments/*25*/)!=((void*)(NULL))){
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,NULL,NULL,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
}
/*FI]*/
}
else if(r34a_tag_mark(C)){
_tag=(C)->_last_tag_mark/*161*/;
_state=1;
}
else if(r34a_expression(C)){
_expression=(C)->_last_expression/*97*/;
_state=2;
}
else{
_state=4;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r34skip1(C,'\73')){
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,_tag,NULL,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_state=0;
}
else if(r34a_tag_mark(C)){
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,_tag,NULL,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_tag=(C)->_last_tag_mark/*161*/;
}
else if(r34a_expression(C)){
_expression=(C)->_last_expression/*97*/;
_state=3;
}
else{
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,_tag,NULL,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_state=4;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r34skip1(C,'\73')){
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,NULL,_expression,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_state=0;
}
else if(r34a_tag_mark(C)){
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,NULL,_expression,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_tag=(C)->_last_tag_mark/*161*/;
_state=1;
}
else if(r34a_expression(C)){
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,NULL,_expression,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_expression=(C)->_last_expression/*97*/;
_state=2;
}
else{
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,NULL,_expression,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_state=4;
}
/*FI]*/
}
else{/*[IF*/
if(r34skip1(C,'\73')){
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,_tag,_expression,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_state=0;
}
else if(r34a_tag_mark(C)){
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,_tag,_expression,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_tag=(C)->_last_tag_mark/*161*/;
_state=1;
}
else if(r34a_expression(C)){
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,_tag,_expression,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_expression=(C)->_last_expression/*97*/;
_state=2;
}
else{
{T103*n=malloc(sizeof(*n));
*n=M103;
r103make(n,_tag,_expression,r34get_comments(C));
_assertion=(T0*)n;
}
/*[IF*/
if((R)==((void*)(NULL))){
R=se_ma106(1,
_assertion);
}
else{
r106add_last(((T106*)R),_assertion);
}
/*FI]*/
_state=4;
}
/*FI]*/
}}
}
return R;
}
/*No:EIFFEL_PARSER.in_rescue*/
/*No:EIFFEL_PARSER.fz_old*/
T6 r34a_feature_name(T34* C){
T6 R=0;
/*[IF*/
if(r34a_prefix(C)){
C->_last_feature_name=(C)->_last_prefix/*125*/;
R=1;
}
else if(r34a_infix(C)){
C->_last_feature_name=(C)->_last_infix/*121*/;
R=1;
}
else if(r34a_identifier(C)){
C->_last_feature_name=r109to_simple_feature_name((T109*)(oBC34tmp_name));
R=1;
}
/*FI]*/
return R;
}
T6 r34a_feature_declaration(T34* C){
T6 R=0;
r198initialize((T198*)(oBC34tmp_feature));
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_7350))){
/*[IF*/
if(r34a_feature_name(C)){
R=1;
r34to_frozen_feature_name(C);
r198add_synonym((C)->_last_feature_name/*105*/);
}
else{
r34fcp(C,((T0*)ms34_33616));
}
/*FI]*/
}
else if(r34a_feature_name(C)){
R=1;
r198add_synonym((C)->_last_feature_name/*105*/);
}
/*FI]*/
while (!(!(r34skip1(C,'\54')))) {
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_7350))){
/*[IF*/
if(r34a_feature_name(C)){
r34to_frozen_feature_name(C);
r198add_synonym((C)->_last_feature_name/*105*/);
}
else{
r34fcp(C,((T0*)ms34_82695));
}
/*FI]*/
}
else if(r34a_feature_name(C)){
r198add_synonym((C)->_last_feature_name/*105*/);
}
else{
/*[IRF3.6ecp*/{T34* C1=C;
T0* b1=((T0*)ms34_57900);
r34error(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*[IF*/
if(R){
r34a_formal_arg_list(C);
/*[IF*/
if(r34skip1(C,'\72')){
/*[IF*/
if(r34a_type(C)){
C->_inside_function=1;
/*[IRF3.3set_type*/((((T198*)((T198*)(oBC34tmp_feature))))->_type)=((C)->_last_type/*157*/);
/*]*/
}
else{
r34fcp(C,((T0*)ms34_25441));
}
/*FI]*/
}
else{
C->_inside_function=0;
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_446))){
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_7098))){
C->_last_feature_declaration=r198to_cst_att_unique((T198*)(oBC34tmp_feature));
}
else if(r34a_boolean_constant(C)){
C->_last_feature_declaration=r198to_cst_att_boolean((T198*)(oBC34tmp_feature),(C)->_last_boolean_constant/*81*/);
}
else if(r34a_character_constant(C)){
C->_last_feature_declaration=r198to_cst_att_character((T198*)(oBC34tmp_feature),(C)->_last_character_constant/*85*/);
}
else if(r34a_manifest_string(C)){
C->_last_feature_declaration=r198to_cst_att_string((T198*)(oBC34tmp_feature),(C)->_last_manifest_string/*145*/);
}
else if(r34a_bit_constant(C)){
C->_last_feature_declaration=r198to_cst_att_bit((T198*)(oBC34tmp_feature),(C)->_last_bit_constant/*77*/);
}
else if(r34a_real_constant(C)){
C->_last_feature_declaration=r198to_cst_att_real((T198*)(oBC34tmp_feature),(C)->_last_real_constant/*153*/);
}
else if(r34a_integer_constant(C)){
C->_last_feature_declaration=r198to_cst_att_integer((T198*)(oBC34tmp_feature),(C)->_last_integer_constant/*129*/);
}
else{
C->_last_feature_declaration=r34a_routine(C);
}
/*FI]*/
}
else{
C->_last_feature_declaration=r198to_writable_attribute((T198*)(oBC34tmp_feature));
}
/*FI]*/
C->_inside_function=0;
C->_inside_once_function=0;
C->_arguments=NULL;
}
/*FI]*/
return R;
}
void r34a_ascii_code(T34* C){
T2 _counter=0;
r34next_char(C);
_counter=0;
C->_last_ascii_code=0;
while (!(((_counter)>(3))||(((C)->_cc/*24*/)==('\57')))) {
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))){
C->_last_ascii_code=(((C)->_last_ascii_code/*61*/)*(10))+(r3value((C)->_cc/*24*/));
}
else{r34fcp(C,((T0*)ms34_75355));
}}
_counter=(_counter)+(1);
r34next_char(C);
}
/*[IF*/
if((_counter)==(0)){
r34fcp(C,((T0*)ms34_37500));
}
else if((_counter)>(3)){
r34fcp(C,((T0*)ms34_98605));
}
else{
}
/*FI]*/
}
/*No:EIFFEL_PARSER.em1*/
/*No:EIFFEL_PARSER.em2*/
/*No:EIFFEL_PARSER.fz_ensure*/
/*No:EIFFEL_PARSER.last_index_value*/
/*No:EIFFEL_PARSER.em3*/
/*No:EIFFEL_PARSER.em4*/
T0* r34to_proc_call(T34* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if((a2)==((void*)(NULL))){
r34fcp(C,((T0*)ms34_198189));
}
else if((a3)==((void*)(NULL))){
{T163*n=malloc(sizeof(*n));
*n=M163;
r163make(n,a1,a2);
R=(T0*)n;
}
}
else if((X149count(a3))==(1)){
{T164*n=malloc(sizeof(*n));
*n=M164;
r164make(n,a1,a2,a3);
R=(T0*)n;
}
}
else{
{T165*n=malloc(sizeof(*n));
*n=M165;
r165make(n,a1,a2,a3);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.em5*/
/*No:EIFFEL_PARSER.last_type*/
/*No:EIFFEL_PARSER.em6*/
/*No:EIFFEL_PARSER.em7*/
T6 r34a_index_value(T34* C){
T6 R=0;
/*[IF*/
if(r34a_identifier(C)){
C->_last_index_value=r109to_simple_feature_name((T109*)(oBC34tmp_name));
R=1;
}
else if(r34a_manifest_constant(C)){
C->_last_index_value=(C)->_last_manifest_constant/*141*/;
R=1;
}
/*FI]*/
return R;
}
T6 r34a_expression(T34* C){
T6 R=0;
T0* _list=NULL;
T0* _sp=NULL;
/*[IF*/
if(r34skip2(C,'\74','\74')){
R=1;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
while (!(!(r34a_expression(C)))) {
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma111(1,
(C)->_last_expression/*97*/);
}
else{
X111add_last(_list,(C)->_last_expression/*97*/);
}
/*FI]*/
C->_ok=r34skip1(C,'\54');
}
/*[IF*/
if(!(r34skip2(C,'\76','\76'))){
r34fcp(C,((T0*)ms34_57753));
}
/*FI]*/
{T110*n=malloc(sizeof(*n));
*n=M110;
r110make(n,_sp,_list);
C->_last_expression=(T0*)n;
}
}
else{
R=r34a_e0(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.em8*/
/*No:EIFFEL_PARSER.em9*/
T6 r34a_feature_name_list(T34* C){
T6 R=0;
T2 _state=0;
C->_last_feature_name_list=NULL;
while (!((_state)>=(3))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r34a_feature_name(C)){
{T85*n=malloc(sizeof(*n));
*n=M85;
/*[IRF3.3make_1*/((((T85*)(n)))->_first)=((C)->_last_feature_name/*105*/);
/*]*/
C->_last_feature_name_list=(T0*)n;
}
R=1;
_state=1;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_48195);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\54');
}
else{
_state=3;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(((C)->_cc/*24*/)==('\54')){
C->_ok=r34skip1(C,'\54');
_state=2;
}
else if(r34a_feature_name(C)){
r34warning(X83start_position((C)->_last_feature_name/*105*/),((T0*)ms34_9410));
r85add_last((T85*)((C)->_last_feature_name_list/*109*/),(C)->_last_feature_name/*105*/);
}
else{
_state=3;
}
/*FI]*/
}
else {/*[IF*/
if(r34a_feature_name(C)){
r85add_last((T85*)((C)->_last_feature_name_list/*109*/),(C)->_last_feature_name/*105*/);
_state=1;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_26277);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\54');
}
else{
/*[IRF3.6ecp*/{T34* C1=C;
T0* b1=((T0*)ms34_33616);
r34error(r34current_position(C1),b1);
}/*]*/
_state=3;
}
/*FI]*/
}}
}
return R;
}
T6 r34a_type(T34* C){
T6 R=0;
T0* _argument_name2=NULL;
T0* _sp=NULL;
R=1;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_1724))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r34a_infix(C)){
{T255*n=malloc(sizeof(*n));
*n=M255;
r255make(n,_sp,(C)->_last_infix/*121*/);
C->_last_type=(T0*)n;
}
}
else if(r34a_prefix(C)){
{T255*n=malloc(sizeof(*n));
*n=M255;
r255make(n,_sp,(C)->_last_prefix/*125*/);
C->_last_type=(T0*)n;
}
}
else if(r34a_identifier(C)){
/*[IF*/
if(r34a_current(C)){
{T257*n=malloc(sizeof(*n));
*n=M257;
/*[IRF3.3make*/((((T257*)(n)))->_start_position)=(_sp);
/*]*/
C->_last_type=(T0*)n;
}
}
else if(r34a_argument(C)){
_argument_name2=(C)->_last_expression/*97*/;
if(NULL!=(_argument_name2))switch(((T0*)_argument_name2)->id) {
case 188:
break;
default:
_argument_name2=NULL;
};{T258*n=malloc(sizeof(*n));
*n=M258;
r258make(n,_sp,_argument_name2);
C->_last_type=(T0*)n;
}
}
else{
{T255*n=malloc(sizeof(*n));
*n=M255;
r255make(n,_sp,r109to_simple_feature_name((T109*)(oBC34tmp_name)));
C->_last_type=(T0*)n;
}
}
/*FI]*/
}
else{
r34fcp(C,((T0*)ms34_350632));
}
/*FI]*/
}
else if(r34a_keyword(C,((T0*)ms13_10840))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r34a_class_type(C)){
{T275*n=malloc(sizeof(*n));
*n=M275;
r275make(n,_sp,(C)->_last_class_type/*93*/);
C->_last_type=(T0*)n;
}
}
else{
r34fcp(C,((T0*)ms34_92480));
}
/*FI]*/
}
else if(r34a_keyword(C,((T0*)ms14_687))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r34a_integer(C)){
{T276*n=malloc(sizeof(*n));
*n=M276;
r276make(n,_sp,(C)->_last_integer_constant/*129*/);
C->_last_type=(T0*)n;
}
}
else if(r34a_identifier(C)){
{T277*n=malloc(sizeof(*n));
*n=M277;
r277make(n,_sp,r109to_simple_feature_name((T109*)(oBC34tmp_name)));
C->_last_type=(T0*)n;
}
}
else{
r34fcp(C,((T0*)ms34_116370));
}
/*FI]*/
}
else if(r34a_type_formal_generic(C)){
C->_last_type=(C)->_last_type_formal_generic/*117*/;
}
else if(r34a_class_type(C)){
C->_last_type=(C)->_last_class_type/*93*/;
}
else{
R=0;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_rename*/
/*No:EIFFEL_PARSER.fz_rescue*/
T0* r34a_routine(T34* C){
T0* R=NULL;
T0* _ea=NULL;
T0* _al=NULL;
T0* _hc=NULL;
T0* _sp=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_10928))){
/*[IF*/
if(r34a_manifest_string(C)){
/*[IRF3.3set_obsolete_mark*/((((T198*)((T198*)(oBC34tmp_feature))))->_obsolete_mark)=((C)->_last_manifest_string/*145*/);
/*]*/
}
else{
r34fcp(C,((T0*)ms34_71060));
}
/*FI]*/
}
/*FI]*/
/*[IRF3.3set_header_comment*/((((T198*)((T198*)(oBC34tmp_feature))))->_header_comment)=(r34get_comments(C));
/*]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_8904))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_1740))){
_hc=r34get_comments(C);
r198set_require_else((T198*)(oBC34tmp_feature),_sp,_hc,r34a_assertion(C));
}
else{
_hc=r34get_comments(C);
r198set_require((T198*)(oBC34tmp_feature),_sp,_hc,r34a_assertion(C));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_2690a))){
r34a_local_var_list(C);
}
/*FI]*/
R=r34a_routine_body(C);
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_7068))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
C->_in_ensure=1;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_1764))){
_hc=r34get_comments(C);
_al=r34a_assertion(C);
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
{T215*n=malloc(sizeof(*n));
*n=M215;
r215make(n,_sp,_hc,_al);
_ea=(T0*)n;
}
/*[IRF3.3set_ensure_then*/((((T215*)(((T215*)_ea))))->_is_ensure_then)=(1);
/*]*/
}
/*FI]*/
X214set_ensure_assertion(R,_ea);
}
else{
_hc=r34get_comments(C);
_al=r34a_assertion(C);
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
{T215*n=malloc(sizeof(*n));
*n=M215;
r215make(n,_sp,_hc,_al);
_ea=(T0*)n;
}
}
/*FI]*/
X214set_ensure_assertion(R,_ea);
}
/*FI]*/
C->_in_ensure=0;
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_7002))){
C->_in_rescue=1;
X214set_rescue_compound(R,r34a_compound2(C,((T0*)ms13_7002),((T0*)ms13_951)));
C->_in_rescue=0;
}
else{
/*[IF*/
if(!(r34a_keyword(C,((T0*)ms13_951)))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_72240);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
C->_local_vars=NULL;
return R;
}
T6 r34a_creation(T34* C){
T6 R=0;
T2 _state=0;
T0* _call=NULL;
T0* _proc_name=NULL;
T0* _writable=NULL;
T0* _type=NULL;
T0* _sp=NULL;
while (!((_state)>(6))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r34skip1(C,'\41')){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
_state=1;
}
else{
_state=7;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r34a_type(C)){
_type=(C)->_last_type/*157*/;
/*[IF*/
if(X54is_anchored(_type)){
r34warning(X54start_position(_type),((T0*)ms34_136367));
}
/*FI]*/
_state=2;
}
else if(r34skip1(C,'\41')){
_state=3;
}
else{
r34fcp(C,((T0*)ms34_74340));
_state=8;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r34skip1(C,'\41')){
_state=3;
}
else{
_state=8;
r34fcp(C,((T0*)ms34_47516));
}
/*FI]*/
}
else
if((3==z1)){
/*[IF*/
if(r34a_identifier(C)){
/*[IF*/
if(r34a_current(C)){
_state=8;
r34error(X56start_position((C)->_last_expression/*97*/),((T0*)ms34_74830));
}
else if(r34a_argument(C)){
_state=8;
r34error(X56start_position((C)->_last_expression/*97*/),((T0*)ms34_112905));
}
else if((r34a_result(C))||(r34a_local_variable(C))){
_writable=(C)->_last_expression/*97*/;
_state=4;
}
else{
_writable=r109to_simple_feature_name((T109*)(oBC34tmp_name));
_state=4;
}
/*FI]*/
}
else{
_state=8;
r34fcp(C,((T0*)ms34_63591));
}
/*FI]*/
}
else
if((4==z1)){
/*[IF*/
if(r34skip1unless2(C,'\56','\56')){
_state=5;
}
else{
_state=7;
}
/*FI]*/
}
else
if((5==z1)){
/*[IF*/
if(r34a_identifier(C)){
_proc_name=r109to_simple_feature_name((T109*)(oBC34tmp_name));
_state=6;
}
else{
_state=8;
r34fcp(C,((T0*)ms34_85917));
}
/*FI]*/
}
else{/*[IF*/
if(((C)->_cc/*24*/)==('\50')){
_call=r34to_proc_call(C,_writable,_proc_name,r34a_actuals(C));
}
else{
{T163*n=malloc(sizeof(*n));
*n=M163;
r163make(n,_writable,_proc_name);
_call=(T0*)n;
}
}
/*FI]*/
_state=7;
}}
}
/*[IF*/
if(((_state)==(7))&&((_sp)!=((void*)(NULL)))){
R=1;
/*[IF*/
if(((_type)==((void*)(NULL)))&&((_call)==((void*)(NULL)))){
{T247*n=malloc(sizeof(*n));
*n=M247;
r247make(n,_sp,_writable);
C->_last_instruction=(T0*)n;
}
}
else if(((_type)!=((void*)(NULL)))&&((_call)==((void*)(NULL)))){
{T250*n=malloc(sizeof(*n));
*n=M250;
r250make(n,_sp,_type,_writable);
C->_last_instruction=(T0*)n;
}
}
else if(((_type)==((void*)(NULL)))&&((_call)!=((void*)(NULL)))){
{T252*n=malloc(sizeof(*n));
*n=M252;
r252make(n,_sp,_writable,_call);
C->_last_instruction=(T0*)n;
}
}
else{
{T254*n=malloc(sizeof(*n));
*n=M254;
r254make(n,_sp,_type,_writable,_call);
C->_last_instruction=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r34a_real(T34* C){
T6 R=0;
T2 _c=0;
T2 _l=0;
T2 _state=0;
/*[IF*/
if((r3is_digit((C)->_cc/*24*/))||(((C)->_cc/*24*/)==('\56'))){
_l=(C)->_line/*16*/;
_c=(C)->_column/*12*/;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC34tmp_string))))->_count)=(0);
/*]*/
/*[IF*/
if(((C)->_cc/*24*/)==('\56')){
r7append((T7*)(oBC34tmp_string),((T0*)ms13_194));
_state=5;
}
else{
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
}
/*FI]*/
while (!((_state)>(11))) {
r34next_char(C);
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
}
else
if((46==z2)){
r7extend((T7*)(oBC34tmp_string),'\56');
_state=4;
}
else{_state=13;
}}
}
else
if((1==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
_state=2;
}
else{r34fcp(C,((T0*)ms34_98851));
}}
}
else
if((2==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
_state=3;
}
else{r34fcp(C,((T0*)ms34_98851));
}}
}
else
if((3==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
_state=0;
}
else{r34fcp(C,((T0*)ms34_98851));
}}
}
else
if((4==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
_state=6;
}
else
if((69==z2)||(101==z2)){
r7extend((T7*)(oBC34tmp_string),'E');
_state=10;
}
else{_state=12;
}}
}
else
if((5==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
_state=6;
}
else{_state=13;
}}
}
else
if((6==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
}
else
if((69==z2)||(101==z2)){
r7extend((T7*)(oBC34tmp_string),'E');
_state=10;
}
else
if((95==z2)){
_state=7;
}
else{_state=12;
}}
}
else
if((7==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
_state=8;
}
else{r34fcp(C,((T0*)ms34_146421));
}}
}
else
if((8==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
_state=9;
}
else{r34fcp(C,((T0*)ms34_146421));
}}
}
else
if((9==z1)){
{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
_state=6;
}
else{r34fcp(C,((T0*)ms34_146421));
}}
}
else
if((10==z1)){
{int z2=(C)->_cc/*24*/;
if((43==z2)){
_state=11;
}
else
if((45==z2)){
r7extend((T7*)(oBC34tmp_string),'\55');
_state=11;
}
else
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
_state=11;
}
else{r34fcp(C,((T0*)ms34_71434));
_state=13;
}}
}
else{{int z2=(C)->_cc/*24*/;
if(((48<=z2)&&(z2<=57))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
}
else{_state=12;
}}
}}
}
/*[IF*/
if((_state)==(12)){
{T173*n=malloc(sizeof(*n));
*n=M173;
r173make(n,r34pos(_l,_c),r7twin((T7*)(oBC34tmp_string)));
C->_last_real_constant=(T0*)n;
}
R=1;
r34skip_comments(C);
}
else{
r34go_back_at(C,_l,_c);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_elseif*/
void r34a_assignment_aux(T34* C,T6 a1){
T0* _rhs=NULL;
T0* _writable=NULL;
/*[IF*/
if(r34a_current(C)){
r21add_position(X56start_position((C)->_last_expression/*97*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_43368);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else if(r34a_void(C)){
r21add_position(r109start_position((T109*)(oBC34tmp_name)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_35190);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else if(r34a_argument(C)){
r21add_position(X56start_position((C)->_last_expression/*97*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_69224);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
/*[IF*/
if(r109is_result()){
_writable=r34last_result(C);
}
else if(r34a_local_variable(C)){
_writable=(C)->_last_expression/*97*/;
}
else{
_writable=r109to_simple_feature_name((T109*)(oBC34tmp_name));
}
/*FI]*/
/*[IF*/
if(r34a_expression(C)){
_rhs=(C)->_last_expression/*97*/;
/*[IF*/
if(a1){
{T282*n=malloc(sizeof(*n));
*n=M282;
r282make(n,_writable,_rhs);
C->_last_instruction=(T0*)n;
}
}
else{
{T283*n=malloc(sizeof(*n));
*n=M283;
r283make(n,_writable,_rhs);
C->_last_instruction=(T0*)n;
}
}
/*FI]*/
}
else{
r34fcp(C,((T0*)ms34_146421a));
}
/*FI]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.us_double*/
T0* r34a_external(T34* C){
T0* R=NULL;
T0* _l=NULL;
/*[IF*/
if(((C)->_cc/*24*/)!=('\42')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_14027a);
r34warning(r34current_position(C1),b1);
}/*]*/
}
else{
C->_ok=r34skip1(C,'\42');
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_18788))){
{T292*n=malloc(sizeof(*n));
*n=M292;
_l=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms13_25909))){
{T293*n=malloc(sizeof(*n));
*n=M293;
_l=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms13_50768))){
{T295*n=malloc(sizeof(*n));
*n=M295;
_l=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms13_37456))){
{T296*n=malloc(sizeof(*n));
*n=M296;
_l=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms13_66440))){
{T297*n=malloc(sizeof(*n));
*n=M297;
_l=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms34_675))){
{T292*n=malloc(sizeof(*n));
*n=M292;
_l=(T0*)n;
}
r34wcpefnc(C,((T0*)ms34_675a),((T0*)ms13_18788));
}
else if(r34a_keyword(C,((T0*)ms34_681))){
{T293*n=malloc(sizeof(*n));
*n=M293;
_l=(T0*)n;
}
r34wcpefnc(C,((T0*)ms34_681a),((T0*)ms13_25909));
}
else if(r34a_keyword(C,((T0*)ms34_1216))){
{T295*n=malloc(sizeof(*n));
*n=M295;
_l=(T0*)n;
}
r34wcpefnc(C,((T0*)ms34_1216a),((T0*)ms13_50768));
}
else if(r34a_keyword(C,((T0*)ms34_68))){
{T296*n=malloc(sizeof(*n));
*n=M296;
_l=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms34_286))){
{T297*n=malloc(sizeof(*n));
*n=M297;
_l=(T0*)n;
}
r34wcpefnc(C,((T0*)ms34_286a),((T0*)ms13_66440));
}
else if(r34a_keyword(C,((T0*)ms13_32576))){
{T298*n=malloc(sizeof(*n));
*n=M298;
_l=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms13_38896))){
{T300*n=malloc(sizeof(*n));
*n=M300;
_l=(T0*)n;
}
}
else{
r34fcp(C,((T0*)ms34_1422390));
}
/*FI]*/
/*[IF*/
if(((C)->_cc/*24*/)!=('\42')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_14027a);
r34warning(r34current_position(C1),b1);
}/*]*/
}
else{
C->_ok=r34skip1(C,'\42');
}
/*FI]*/
R=r198to_external_routine((T198*)(oBC34tmp_feature),_l,r34a_alias(C));
return R;
}
/*No:EIFFEL_PARSER.fz_creation*/
T6 r34a_debug(T34* C){
T6 R=0;
T0* _e_debug=NULL;
T0* _list=NULL;
T0* _sp=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_2670))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r34skip1(C,'\50')){
while (!(!(r34a_manifest_string(C)))) {
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma221(1,
(C)->_last_manifest_string/*145*/);
}
else{
r221add_last(((T221*)_list),(C)->_last_manifest_string/*145*/);
}
/*FI]*/
C->_ok=r34skip1(C,'\54');
}
/*[IF*/
if((_list)==((void*)(NULL))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_61008);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(!(r34skip1(C,'\51'))){
r34fcp(C,((T0*)ms34_76190));
}
/*FI]*/
}
/*FI]*/
R=1;
{T220*n=malloc(sizeof(*n));
*n=M220;
r220make(n,_sp,_list,r34a_compound2(C,((T0*)ms34_2670),((T0*)ms13_951)));
_e_debug=(T0*)n;
}
C->_last_instruction=_e_debug;
}
/*FI]*/
return R;
}
T6 r34a_parent(T34* C){
T6 R=0;
/*[IF*/
if(r34a_class_type(C)){
R=1;
{T79*n=malloc(sizeof(*n));
*n=M79;
r79make(n,(C)->_last_class_type/*93*/);
C->_last_parent=(T0*)n;
}
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_6912))){
r34a_rename_list(C);
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_71638);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
}
/*FI]*/
}
/*FI]*/
r34a_new_export_list(C);
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_10824))){
/*[IF*/
if(r34a_feature_name_list(C)){
/*[IRF3.3set_undefine*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_undefine_list)=((C)->_last_feature_name_list/*109*/);
/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_10728))){
/*[IF*/
if(r34a_feature_name_list(C)){
/*[IRF3.3set_redefine*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_redefine_list)=((C)->_last_feature_name_list/*109*/);
/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_7410))){
/*[IF*/
if(r34a_feature_name_list(C)){
/*[IRF3.3set_select*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_select_list)=((C)->_last_feature_name_list/*109*/);
/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((((r34a_keyword(C,((T0*)ms13_6912)))||(r34a_keyword(C,((T0*)ms13_7614))))||(r34a_keyword(C,((T0*)ms13_10824))))||(r34a_keyword(C,((T0*)ms13_10728))))||(r34a_keyword(C,((T0*)ms13_7410)))){
r21add_position(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_667805);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
C->_ok=r34a_keyword(C,((T0*)ms13_951));
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_desc*/
T6 r34a_bit_constant(T34* C){
T6 R=0;
T2 _state=0;
T2 _c=0;
T2 _l=0;
/*[IF*/
if((((C)->_cc/*24*/)==('0'))||(((C)->_cc/*24*/)==('1'))){
_l=(C)->_line/*16*/;
_c=(C)->_column/*12*/;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC34tmp_string))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
while (!((_state)>(0))) {
r34next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=49))){
r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
}
else
if((66==z1)||(98==z1)){
{T55*n=malloc(sizeof(*n));
*n=M55;
r55make(n,r34pos(_l,_c),r7twin((T7*)(oBC34tmp_string)));
C->_last_bit_constant=(T0*)n;
}
r34next_char(C);
r34skip_comments(C);
_state=1;
R=1;
}
else{r34go_back_at(C,_l,_c);
_state=2;
}}
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.us_and_then*/
/*No:EIFFEL_PARSER.fz_alias*/
void r34a_formal_generic_list(T34* C){
T2 _state=0;
T0* _list=NULL;
T0* _fga=NULL;
T0* _constraint=NULL;
T0* _name=NULL;
T0* _sp=NULL;
C->_formal_generic_list=NULL;
while (!((_state)>(4))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r34skip1(C,'\133')){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
_state=1;
}
else{
_state=5;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r34a_base_class_name(C)){
_name=(C)->_last_class_name/*89*/;
_state=2;
}
else{
_state=6;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r34skip2(C,'\55','\76')){
_state=4;
}
else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\135'))){
{T278*n=malloc(sizeof(*n));
*n=M278;
r278make(n,_name,_constraint);
_fga=(T0*)n;
}
_name=NULL;
_constraint=NULL;
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma279(1,
_fga);
}
else{
r279add_last(((T279*)_list),_fga);
}
/*FI]*/
_fga=NULL;
/*[IF*/
if(r34skip1(C,'\54')){
_state=1;
}
else{
C->_ok=r34skip1(C,'\135');
_state=5;
}
/*FI]*/
}
else{
_state=6;
}
/*FI]*/
}
else
if((3==z1)){
/*[IF*/
if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\135'))){
{T278*n=malloc(sizeof(*n));
*n=M278;
r278make(n,_name,_constraint);
_fga=(T0*)n;
}
_name=NULL;
_constraint=NULL;
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma279(1,
_fga);
}
else{
r279add_last(((T279*)_list),_fga);
}
/*FI]*/
_fga=NULL;
/*[IF*/
if(r34skip1(C,'\54')){
_state=1;
}
else{
C->_ok=r34skip1(C,'\135');
_state=5;
}
/*FI]*/
}
else{
_state=6;
}
/*FI]*/
}
else{/*[IF*/
if(r34a_class_type(C)){
_constraint=(C)->_last_class_type/*93*/;
_state=3;
}
else{
r34fcp(C,((T0*)ms34_60760));
_state=6;
}
/*FI]*/
}}
}
/*[IF*/
if((_state)==(6)){
}
else if(((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))){
r34warning(_sp,((T0*)ms34_79128a));
}
else if((_sp)!=((void*)(NULL))){
{T94*n=malloc(sizeof(*n));
*n=M94;
r94make(n,_sp,_list);
C->_formal_generic_list=(T0*)n;
}
/*[IRF3.3set_formal_generic_list*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_formal_generic_list)=((C)->_formal_generic_list/*37*/);
/*]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_class*/
/*No:EIFFEL_PARSER.fz_prefix*/
/*No:EIFFEL_PARSER.fz_strip*/
/*No:EIFFEL_PARSER.fz_unique*/
T6 r34skip1unless2(T34* C,T3 a1,T3 a2){
T6 R=0;
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
/*[IF*/
if(((C)->_cc/*24*/)==(a1)){
r34next_char(C);
/*[IF*/
if(((C)->_cc/*24*/)==(a2)){
r34prev_char(C);
}
else{
R=1;
r34skip_comments(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.ecp*/
void r34fcp(T34* C,T0* a1){
r21add_position(r34current_position(C));
/*[IRF3.6fatal_error*/{T0* b1=a1;
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
T0* r34a_compound1(T34* C){
T0* R=NULL;
T0* _remainder=NULL;
T0* _first_one=NULL;
T0* _instruction=NULL;
T0* _hc=NULL;
_hc=r34get_comments(C);
while (!(((C)->_cc/*24*/)!=('\73'))) {
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms13_41475);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
}
while (!((!(r34a_instruction(C)))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
_instruction=(C)->_last_instruction/*133*/;
/*[IF*/
if(((C)->_cc/*24*/)==('\50')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_9410a);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
C->_ok=r34skip1(C,'\73');
while (!(((C)->_cc/*24*/)!=('\73'))) {
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms13_41475);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
}
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
_instruction=X161add_comment(_instruction,r34get_comments(C));
/*[IF*/
if((_first_one)==((void*)(NULL))){
_first_one=_instruction;
}
else{
/*[IF*/
if((_remainder)==((void*)(NULL))){
{T217*n=malloc(sizeof(*n));
*n=M217;
r217with_capacity(n,4);
_remainder=(T0*)n;
}
}
/*FI]*/
r217add_last(((T217*)_remainder),_instruction);
}
/*FI]*/
}
/*FI]*/
}
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_first_one)!=((void*)(NULL)))){
{T216*n=malloc(sizeof(*n));
*n=M216;
r216make(n,_hc,_first_one,_remainder);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T6 r34a_result(T34* C){
T6 R=0;
/*[IF*/
if(r109is_result()){
C->_last_expression=r34last_result(C);
R=1;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.set_drop_comments*/
/*No:EIFFEL_PARSER.fz_all*/
T6 r34skip1(T34* C,T3 a1){
T6 R=0;
/*[IF*/
if((a1)==((C)->_cc/*24*/)){
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
R=1;
r34next_char(C);
r34skip_comments(C);
}
/*FI]*/
return R;
}
T6 r34skip2(T34* C,T3 a1,T3 a2){
T6 R=0;
/*[IF*/
if((a1)==((C)->_cc/*24*/)){
C->_start_line=(C)->_line/*16*/;
C->_start_column=(C)->_column/*12*/;
r34next_char(C);
/*[IF*/
if((a2)==((C)->_cc/*24*/)){
R=1;
r34next_char(C);
r34skip_comments(C);
}
else{
r34prev_char(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_keyword*/
T0*oBC34lcs=NULL;
T6 r34a_boolean_constant(T34* C){
T6 R=0;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_1832))){
{T168*n=malloc(sizeof(*n));
*n=M168;
/*[IRF3.3make*/((((T168*)(n)))->_start_position)=(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*]*/
C->_last_boolean_constant=(T0*)n;
}
R=1;
}
else if(r34a_keyword(C,((T0*)ms13_2690))){
{T169*n=malloc(sizeof(*n));
*n=M169;
/*[IRF3.3make*/((((T169*)(n)))->_start_position)=(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
/*]*/
C->_last_boolean_constant=(T0*)n;
}
R=1;
}
/*FI]*/
return R;
}
T6 r34a_index_clause(T34* C){
T6 R=0;
T0* _index_clause=NULL;
/*[IF*/
if(r34a_identifier(C)){
R=1;
/*[IF*/
if(r34skip1(C,'\72')){
{T320*n=malloc(sizeof(*n));
*n=M320;
/*[IRF3.3with_tag*/((((T320*)(n)))->_tag)=(r109to_string((T109*)(oBC34tmp_name)));
/*]*/
_index_clause=(T0*)n;
}
/*[IF*/
if(r34a_index_value(C)){
r320add_last(((T320*)_index_clause),(C)->_last_index_value/*137*/);
}
else{
r34fcp(C,((T0*)ms34_86146));
}
/*FI]*/
}
else{
{T320*n=malloc(sizeof(*n));
*n=M320;
/*[IRF3.6without_tag*/{T320* C1=n;
T0* b1=r109to_simple_feature_name((T109*)(oBC34tmp_name));
r320add_last(C1,b1);
}/*]*/
_index_clause=(T0*)n;
}
}
/*FI]*/
}
else if(r34a_manifest_constant(C)){
R=1;
{T320*n=malloc(sizeof(*n));
*n=M320;
/*[IRF3.6without_tag*/{T320* C1=n;
T0* b1=(C)->_last_manifest_constant/*141*/;
r320add_last(C1,b1);
}/*]*/
_index_clause=(T0*)n;
}
}
/*FI]*/
/*[IF*/
if(R){
while (!(!(r34skip1(C,'\54')))) {
/*[IF*/
if(r34a_index_value(C)){
r320add_last(((T320*)_index_clause),(C)->_last_index_value/*137*/);
}
else{
r34fcp(C,((T0*)ms34_86146));
}
/*FI]*/
}
r63add_index_clause((T63*)((C)->_last_base_class/*65*/),_index_clause);
}
/*FI]*/
return R;
}
T6 r34a_instruction(T34* C){
T6 R=0;
R=(((((((r34a_check(C))||(r34a_debug(C)))||(r34a_conditional(C)))||(r34a_retry(C)))||(r34a_inspect(C)))||(r34a_loop(C)))||(r34a_creation(C)))||(r34a_assignment_or_call(C));
return R;
}
void r34wcpefnc(T34* C,T0* a1,T0* a2){
/*[IRF3.6append*/{T0* b1=((T0*)ms34_44280);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms34_6730);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_94878);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*No:EIFFEL_PARSER.wcp*/
/*No:EIFFEL_PARSER.last_type_formal_generic*/
T6 r34a_base_type(T34* C){
T6 R=0;
T0* _sp=NULL;
R=1;
/*[IF*/
if(r34a_keyword(C,((T0*)ms14_714))){
{T259*n=malloc(sizeof(*n));
*n=M259;
r259make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_1990))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(((r34skip1(C,'\133'))&&(r34a_type(C)))&&(r34skip1(C,'\135'))){
{T260*n=malloc(sizeof(*n));
*n=M260;
r260make(n,_sp,(C)->_last_type/*157*/);
C->_last_base_type=(T0*)n;
}
}
else{
r34fcp(C,((T0*)ms34_64185));
}
/*FI]*/
}
else if(r34a_keyword(C,((T0*)ms14_17628))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(((r34skip1(C,'\133'))&&(r34a_type(C)))&&(r34skip1(C,'\135'))){
{T263*n=malloc(sizeof(*n));
*n=M263;
r263make(n,_sp,(C)->_last_type/*157*/);
C->_last_base_type=(T0*)n;
}
}
else{
r34fcp(C,((T0*)ms34_90680));
}
/*FI]*/
}
else if(r34a_keyword(C,((T0*)ms34_7203))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(((r34skip1(C,'\133'))&&(r34a_type(C)))&&(r34skip1(C,'\135'))){
{T263*n=malloc(sizeof(*n));
*n=M263;
r263make(n,_sp,(C)->_last_type/*157*/);
C->_last_base_type=(T0*)n;
}
}
else{
r34fcp(C,((T0*)ms34_71295));
}
/*FI]*/
r34warning(_sp,((T0*)ms34_151262));
}
else if(r34a_keyword(C,((T0*)ms14_6510))){
{T264*n=malloc(sizeof(*n));
*n=M264;
r264make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_9936))){
{T266*n=malloc(sizeof(*n));
*n=M266;
r266make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_4818))){
{T267*n=malloc(sizeof(*n));
*n=M267;
r267make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_6748))){
{T268*n=malloc(sizeof(*n));
*n=M268;
r268make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_1256))){
{T269*n=malloc(sizeof(*n));
*n=M269;
r269make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_6881))){
{T270*n=malloc(sizeof(*n));
*n=M270;
r270make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_1208))){
{T271*n=malloc(sizeof(*n));
*n=M271;
r271make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_5046))){
{T272*n=malloc(sizeof(*n));
*n=M272;
r272make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else{
R=0;
}
/*FI]*/
return R;
}
void r34a_procedure_call(T34* C){
T0* _implicit_current=NULL;
T0* _sfn=NULL;
_sfn=r109to_simple_feature_name((T109*)(oBC34tmp_name));
{T193*n=malloc(sizeof(*n));
*n=M193;
/*[IRF3.3make*/((((T193*)(n)))->_start_position)=((((T148*)_sfn))->_start_position/*8*/);
/*]*/
_implicit_current=(T0*)n;
}
r34a_r10(C,1,_implicit_current,_sfn,r34a_actuals(C));
}
T0* r34pos(T2 a1,T2 a2){
T0* R=NULL;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,a1,a2);
R=(T0*)n;
}
return R;
}
void r34show_nb(T2 a1,T0* a2){
/*[IF*/
if((a1)>(0)){
r28w_put_string(((T0*)ms13_3143));
r28w_put_integer(a1);
r28w_put_string(a2);
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_error_stars*/
T0* r34connect_to_cecil(T34* C){
T0* R=NULL;
T0* _path=NULL;
_path=((T43*)(oBC12run_control))->_cecil_path/*20*/;
r28put_string((T28*)(oBC12echo),((T0*)ms34_25158));
r28put_string((T28*)(oBC12echo),_path);
r28put_character((T28*)(oBC12echo),'\n');
r72load_file((T72*)(oBC12parser_buffer),_path);
/*[IF*/
if(!(/*(IRF4.7is_ready*/(((T72*)(oBC12parser_buffer))->_path/*0*/)!=(NULL)/*)*/)){
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_167200);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
C->_is_running=1;
C->_formal_generic_list=NULL;
C->_inside_function=0;
C->_inside_once_function=0;
C->_in_ensure=0;
C->_last_comments=NULL;
C->_line=1;
C->_column=1;
C->_current_line=r72item((C)->_line/*16*/);
{T63*n=malloc(sizeof(*n));
*n=M63;
r63make(n);
C->_last_base_class=(T0*)n;
}
r64identify((T64*)(/*(IRF4.6current_class_name*/(((T63*)((C)->_last_base_class/*65*/)))->_name/*24*//*)*/),((T0*)ms34_15050));
r22add_class((T22*)(oBC12small_eiffel),(C)->_last_base_class/*65*/);
/*[IF*/
if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
C->_cc='\n';
}
else{
C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
}
/*FI]*/
r34skip_comments(C);
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,32);
R=(T0*)n;
}
while (!(((C)->_cc/*24*/)==('\n'))) {
r7extend(((T7*)R),(C)->_cc/*24*/);
r34next_char(C);
}
r34skip_comments(C);
return R;
}
/*No:EIFFEL_PARSER.us_minus*/
T6 r34a_identifier(T34* C){
T6 R=0;
/*[IF*/
if((C)->_case_insensitive/*0*/){
R=r34a_identifier1(C);
}
else{
R=r34a_identifier2(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_else*/
T0* r34a_compound2(T34* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _remainder=NULL;
T0* _first_one=NULL;
T0* _instruction=NULL;
T0* _hc=NULL;
_hc=r34get_comments(C);
while (!(((C)->_cc/*24*/)!=('\73'))) {
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms13_41475);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
}
while (!((!(r34a_instruction(C)))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
_instruction=(C)->_last_instruction/*133*/;
/*[IF*/
if(((C)->_cc/*24*/)==('\50')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_9410a);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
C->_ok=r34skip1(C,'\73');
while (!(((C)->_cc/*24*/)!=('\73'))) {
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms13_41475);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
}
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
_instruction=X161add_comment(_instruction,r34get_comments(C));
/*[IF*/
if((_first_one)==((void*)(NULL))){
_first_one=_instruction;
}
else{
/*[IF*/
if((_remainder)==((void*)(NULL))){
{T217*n=malloc(sizeof(*n));
*n=M217;
r217with_capacity(n,4);
_remainder=(T0*)n;
}
}
/*FI]*/
r217add_last(((T217*)_remainder),_instruction);
}
/*FI]*/
}
/*FI]*/
}
/*[IF*/
if(!(r34a_keyword(C,a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms34_12480);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms34_33345);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r34fcp(C,((T0*)ms34_10120a));
}
/*FI]*/
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_first_one)!=((void*)(NULL)))){
{T216*n=malloc(sizeof(*n));
*n=M216;
r216make(n,_hc,_first_one,_remainder);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_deferred*/
/*No:EIFFEL_PARSER.fz_like*/
T6 r34a_loop(T34* C){
T6 R=0;
T0* _al=NULL;
T0* _hc=NULL;
T0* _lb=NULL;
T0* _ue=NULL;
T0* _vc=NULL;
T0* _ic=NULL;
T0* _i=NULL;
T0* _e_loop=NULL;
T2 _c2=0;
T2 _l2=0;
T2 _c1=0;
T2 _l1=0;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_1784))){
R=1;
_l1=(C)->_start_line/*169*/;
_c1=(C)->_start_column/*165*/;
_i=r34a_compound1(C);
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_14427))){
_l2=(C)->_start_line/*169*/;
_c2=(C)->_start_column/*165*/;
_hc=r34get_comments(C);
_al=r34a_assertion(C);
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
{T243*n=malloc(sizeof(*n));
*n=M243;
r243make(n,r34pos(_l2,_c2),_hc,_al);
_ic=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_9506))){
/*[IF*/
if((r34a_tag_mark(C))&&(r34a_expression(C))){
{T245*n=malloc(sizeof(*n));
*n=M245;
r245make(n,(C)->_last_tag_mark/*161*/,(C)->_last_expression/*97*/,r34get_comments(C));
_vc=(T0*)n;
}
}
else if(r34a_expression(C)){
{T246*n=malloc(sizeof(*n));
*n=M246;
r246make(n,(C)->_last_expression/*97*/,r34get_comments(C));
_vc=(T0*)n;
}
}
else{
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_85956);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_2855))){
/*[IF*/
if(r34a_expression(C)){
_ue=X56add_comment((C)->_last_expression/*97*/,r34get_comments(C));
}
else{
r34fcp(C,((T0*)ms34_78048));
_ue=(C)->_last_expression/*97*/;
}
/*FI]*/
}
else{
r34fcp(C,((T0*)ms34_83028));
_ue=(C)->_last_expression/*97*/;
}
/*FI]*/
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms13_41475);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
}
/*FI]*/
/*[IF*/
if(!(r34a_keyword(C,((T0*)ms13_1808)))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_79128);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
_lb=r34a_compound2(C,((T0*)ms34_14202),((T0*)ms13_951));
{T244*n=malloc(sizeof(*n));
*n=M244;
r244make(n,r34pos(_l1,_c1),_i,_ic,_vc,_ue,_lb);
_e_loop=(T0*)n;
}
C->_last_instruction=_e_loop;
}
/*FI]*/
return R;
}
T6 r34a_base_class_name(T34* C){
T6 R=0;
T6 _do_warning=0;
T2 _state=0;
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
/*[IF*/
if((((unsigned)((C)->_cc/*24*/))>=((unsigned)('a')))){
_do_warning=1;
C->_cc=r3to_upper((C)->_cc/*24*/);
}
/*FI]*/
r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
while (!((_state)>(0))) {
r34next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
}
else
if(((97<=z1)&&(z1<=122))){
_do_warning=1;
/*[IRF3.6extend*/{T3 b1=r3to_upper((C)->_cc/*24*/);
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
}
else{_state=1;
}}
}
/*[IF*/
if(r109isa_keyword()){
_state=/*(IRF4.9count*/((T7*)(oBC109tmp_string))->_count/*4*//*)*/;
while (!((_state)==(0))) {
_state=(_state)-(1);
r34prev_char(C);
}
}
else{
R=1;
r34skip_comments(C);
/*[IF*/
if(_do_warning){
r34warning(r109start_position((T109*)(oBC34tmp_name)),((T0*)ms34_116415));
}
/*FI]*/
C->_last_class_name=r109to_class_name((T109*)(oBC34tmp_name));
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r34a_manifest_constant(T34* C){
T6 R=0;
/*[IF*/
if(r34a_boolean_constant(C)){
C->_last_manifest_constant=(C)->_last_boolean_constant/*81*/;
R=1;
}
else if(r34a_character_constant(C)){
C->_last_manifest_constant=(C)->_last_character_constant/*85*/;
R=1;
}
else if(r34a_manifest_string(C)){
C->_last_manifest_constant=(C)->_last_manifest_string/*145*/;
R=1;
}
else if(r34a_bit_constant(C)){
C->_last_manifest_constant=(C)->_last_bit_constant/*77*/;
R=1;
}
else if(r34a_real_constant(C)){
C->_last_manifest_constant=(C)->_last_real_constant/*153*/;
R=1;
}
else if(r34a_integer_constant(C)){
C->_last_manifest_constant=(C)->_last_integer_constant/*129*/;
R=1;
}
/*FI]*/
return R;
}
T6 r34a_identifier1(T34* C){
T6 R=0;
T2 _state=0;
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IRF3.6extend*/{T3 b1=r3to_lower((C)->_cc/*24*/);
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
while (!((_state)>(0))) {
r34next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
}
else
if(((65<=z1)&&(z1<=90))){
/*[IRF3.6extend*/{T3 b1=r3to_lower((C)->_cc/*24*/);
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
}
else{_state=1;
}}
}
/*[IF*/
if(r109isa_keyword()){
_state=/*(IRF4.9count*/((T7*)(oBC109tmp_string))->_count/*4*//*)*/;
while (!((_state)==(0))) {
_state=(_state)-(1);
r34prev_char(C);
}
}
else{
R=1;
r34skip_comments(C);
}
/*FI]*/
}
/*FI]*/
return R;
}
void r34a_formal_arg_list(T34* C){
T2 _state=0;
T0* _list=NULL;
T0* _declaration=NULL;
T0* _name_list=NULL;
T0* _name=NULL;
T6 _started=0;
C->_arguments=NULL;
while (!((_state)>(5))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r34skip1(C,'\50')){
_started=1;
_state=1;
}
else{
_state=6;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r34a_identifier(C)){
_name=r109to_argument_name1((T109*)(oBC34tmp_name));
_state=2;
}
else if(r34skip1(C,'\51')){
_state=6;
}
else{
_state=7;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r34skip1(C,'\72')){
/*[IF*/
if((_name_list)!=((void*)(NULL))){
r191add_last(((T191*)_name_list),_name);
_name=NULL;
}
/*FI]*/
_state=4;
}
else{
C->_ok=r34skip1(C,'\54');
/*[IF*/
if((_name_list)==((void*)(NULL))){
_name_list=se_ma191(1,
_name);
}
else{
r191add_last(((T191*)_name_list),_name);
}
/*FI]*/
_name=NULL;
_state=3;
}
/*FI]*/
}
else
if((3==z1)){
/*[IF*/
if(r34a_identifier(C)){
_name=r109to_argument_name1((T109*)(oBC34tmp_name));
_state=2;
}
else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_38712);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=(r34skip1(C,'\54'))||(r34skip1(C,'\73'));
}
else{
_state=7;
}
/*FI]*/
}
else
if((4==z1)){
/*[IF*/
if(r34a_type(C)){
/*[IF*/
if((_name_list)!=((void*)(NULL))){
{T310*n=malloc(sizeof(*n));
*n=M310;
r310make(n,_name_list,(C)->_last_type/*157*/);
_declaration=(T0*)n;
}
_name_list=NULL;
}
else{
{T313*n=malloc(sizeof(*n));
*n=M313;
r313make(n,_name,(C)->_last_type/*157*/);
_declaration=(T0*)n;
}
_name=NULL;
}
/*FI]*/
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma308(1,
_declaration);
}
else{
r308add_last(((T308*)_list),_declaration);
}
/*FI]*/
_declaration=NULL;
_state=5;
}
else{
_state=7;
}
/*FI]*/
}
else{/*[IF*/
if(r34skip1(C,'\51')){
_state=6;
}
else if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_29280aa);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\54');
_state=1;
}
else{
C->_ok=r34skip1(C,'\73');
_state=1;
}
/*FI]*/
}}
}
/*[IF*/
if((_state)==(7)){
r34fcp(C,((T0*)ms34_39050));
}
else if(_started){
/*[IF*/
if((_list)==((void*)(NULL))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_83028a);
r34warning(r34current_position(C1),b1);
}/*]*/
}
else{
{T187*n=malloc(sizeof(*n));
*n=M187;
r187make(n,_list);
C->_arguments=(T0*)n;
}
/*[IRF3.3set_arguments*/((((T198*)((T198*)(oBC34tmp_feature))))->_arguments)=((C)->_arguments/*49*/);
/*]*/
}
/*FI]*/
}
/*FI]*/
}
T6 r34a_check(T34* C){
T6 R=0;
T0* _al=NULL;
T0* _hc=NULL;
T0* _sp=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_2625))){
R=1;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
_hc=r34get_comments(C);
_al=r34a_assertion(C);
/*[IF*/
if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,_sp,_hc,_al);
C->_last_instruction=(T0*)n;
}
}
else{
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_64448);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(!(r34a_keyword(C,((T0*)ms13_951)))){
r34fcp(C,((T0*)ms34_142100));
}
/*FI]*/
}
/*FI]*/
return R;
}
void r34to_frozen_feature_name(T34* C){
{T315*n=malloc(sizeof(*n));
*n=M315;
/*[IRF3.3make*/((((T315*)(n)))->_feature_name)=((C)->_last_feature_name/*105*/);
/*]*/
C->_last_feature_name=(T0*)n;
}
}
/*No:EIFFEL_PARSER.us_boolean*/
T6 r34a_binary(T34* C,T0* a1){
T6 R=0;
R=1;
/*[IF*/
if(r34skip2(C,'\74','\75')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_248),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip2(C,'\76','\75')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_252),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip2(C,'\57','\57')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms34_194),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip2(C,'\134','\134')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms34_374),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip1(C,'\53')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_44),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip1(C,'\55')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_46),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip1(C,'\52')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_43),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip1(C,'\57')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_48),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip1(C,'\76')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_63),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip1(C,'\74')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_61),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34skip1(C,'\136')){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms34_95),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_1053a))){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_1053a),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_9513))){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_9513),a1);
C->_last_binary=(T0*)n;
}
}
else if(r34a_keyword(C,((T0*)ms14_939))){
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_1764))){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_10800),a1);
C->_last_binary=(T0*)n;
}
}
else{
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_939),a1);
C->_last_binary=(T0*)n;
}
}
/*FI]*/
}
else if(r34a_keyword(C,((T0*)ms14_456))){
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_1740))){
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_8316),a1);
C->_last_binary=(T0*)n;
}
}
else{
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,((T0*)ms14_456),a1);
C->_last_binary=(T0*)n;
}
}
/*FI]*/
}
else{
C->_last_binary=NULL;
R=0;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_once*/
/*No:EIFFEL_PARSER.fz_if*/
/*No:EIFFEL_PARSER.column*/
void r34a_new_export_list(T34* C){
T2 _state=0;
T0* _new_export_item=NULL;
T0* _items=NULL;
T0* _clients=NULL;
T0* _sp=NULL;
T0* _export_list=NULL;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_7614))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
while (!((_state)>(3))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(((C)->_cc/*24*/)==('\173')){
_clients=r34a_clients(C);
_state=1;
}
else if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms13_41475);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
}
else{
/*[IF*/
if((_items)!=((void*)(NULL))){
{T317*n=malloc(sizeof(*n));
*n=M317;
r317make(n,_sp,_items);
_export_list=(T0*)n;
}
/*[IRF3.3set_export*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_export_list)=(_export_list);
/*]*/
}
/*FI]*/
_state=4;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_957a))){
{T316*n=malloc(sizeof(*n));
*n=M316;
r316make_all(n,_clients);
_new_export_item=(T0*)n;
}
/*[IF*/
if((_items)==((void*)(NULL))){
_items=se_ma318(1,
_new_export_item);
}
else{
r318add_last(((T318*)_items),_new_export_item);
}
/*FI]*/
_state=2;
}
else{
/*[IF*/
if(r34a_feature_name_list(C)){
{T316*n=malloc(sizeof(*n));
*n=M316;
r316make(n,_clients,(C)->_last_feature_name_list/*109*/);
_new_export_item=(T0*)n;
}
/*[IF*/
if((_items)==((void*)(NULL))){
_items=se_ma318(1,
_new_export_item);
}
else{
r318add_last(((T318*)_items),_new_export_item);
}
/*FI]*/
_state=2;
}
else{
_state=3;
}
/*FI]*/
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r34skip1(C,'\73')){
_state=0;
}
else if(((C)->_cc/*24*/)==('\173')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_9410a);
r34warning(r34current_position(C1),b1);
}/*]*/
_state=0;
}
else{
/*[IF*/
if((_items)!=((void*)(NULL))){
{T317*n=malloc(sizeof(*n));
*n=M317;
r317make(n,_sp,_items);
_export_list=(T0*)n;
}
/*[IRF3.3set_export*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_export_list)=(_export_list);
/*]*/
}
/*FI]*/
_state=4;
}
/*FI]*/
}
else{r34fcp(C,((T0*)ms34_20247));
_state=4;
}}
}
}
/*FI]*/
}
void r34a_creation_clause(T34* C,T0* a1){
T0* _creation_clause=NULL;
T0* _comments=NULL;
T0* _clients=NULL;
_clients=r34a_clients(C);
_comments=r34get_comments(C);
/*[IF*/
if(r34a_feature_name_list(C)){
}
/*FI]*/
{T75*n=malloc(sizeof(*n));
*n=M75;
r75make(n,a1,_clients,_comments,(C)->_last_feature_name_list/*109*/);
_creation_clause=(T0*)n;
}
r63add_creation_clause((T63*)((C)->_last_base_class/*65*/),_creation_clause);
}
/*No:EIFFEL_PARSER.show_nb_errors*/
/*No:EIFFEL_PARSER.last_integer_constant*/
/*No:EIFFEL_PARSER.last_boolean_constant*/
T6 r34a_integer_constant(T34* C){
T6 R=0;
T2 _c=0;
T2 _l=0;
/*[IF*/
if(r34skip1(C,'\53')){
_l=(C)->_start_line/*169*/;
_c=(C)->_start_column/*165*/;
/*[IF*/
if(r34a_integer(C)){
r70set_line_column((T70*)(((T174*)((C)->_last_integer_constant/*129*/))->_start_position/*4*/),_l,_c);
R=1;
}
else{
r34fcp(C,((T0*)ms13_45846));
}
/*FI]*/
}
else if(r34skip1(C,'\55')){
_l=(C)->_start_line/*169*/;
_c=(C)->_start_column/*165*/;
/*[IF*/
if(r34a_integer(C)){
r70set_line_column((T70*)(((T174*)((C)->_last_integer_constant/*129*/))->_start_position/*4*/),_l,_c);
r174unary_minus((T174*)((C)->_last_integer_constant/*129*/));
R=1;
}
else{
r34fcp(C,((T0*)ms13_45846));
}
/*FI]*/
}
else{
R=r34a_integer(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fz_do*/
/*No:EIFFEL_PARSER.fz_as*/
/*No:EIFFEL_PARSER.us_ge*/
/*No:EIFFEL_PARSER.go_back*/
T6 r34a_prefix(T34* C){
T6 R=0;
/*[IF*/
if(r34a_keyword(C,((T0*)ms13_7614a))){
R=1;
/*[IF*/
if(((C)->_cc/*24*/)==('\42')){
r34next_char(C);
}
else{
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_89232);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(r34a_unary(C)){
}
else if(r34a_free_operator(C)){
C->_last_prefix=r109to_prefix_name((T109*)(oBC34tmp_name));
}
else{
r34fcp(C,((T0*)ms34_56910));
}
/*FI]*/
/*[IF*/
if(!(r34skip1(C,'\42'))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_38352);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.last_feature_declaration*/
/*No:EIFFEL_PARSER.us_none*/
/*No:EIFFEL_PARSER.start_column*/
/*No:EIFFEL_PARSER.us_string*/
/*No:EIFFEL_PARSER.fz_se*/
/*No:EIFFEL_PARSER.fz_true*/
/*No:EIFFEL_PARSER.us_le*/
/*No:EIFFEL_PARSER.fz_c_inlinewithoutcurrent*/
/*No:EIFFEL_PARSER.fz_c_withoutcurrent*/
T0* r34parse_c_name(T34* C){
T0* R=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,32);
R=(T0*)n;
}
while (!(r3is_separator((C)->_cc/*24*/))) {
r7extend(((T7*)R),(C)->_cc/*24*/);
r34next_char(C);
}
r34skip_comments(C);
return R;
}
T0* r34parse_feature_name(T34* C){
T0* R=NULL;
/*[IF*/
if(r34a_feature_name(C)){
R=(C)->_last_feature_name/*105*/;
}
else{
r34fcp(C,((T0*)ms34_33616));
}
/*FI]*/
return R;
}
void r34a_local_var_list(T34* C){
T2 _state=0;
T2 _rank=0;
T0* _list=NULL;
T0* _declaration=NULL;
T0* _name_list=NULL;
T0* _name=NULL;
while (!((_state)>(4))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if(r34a_identifier(C)){
_name=r109to_local_name1((T109*)(oBC34tmp_name));
_state=1;
/*[IF*/
if(((C)->_arguments/*49*/)!=((void*)(NULL))){
_rank=r187rank_of((T187*)((C)->_arguments/*49*/),(((T183*)_name))->_to_string/*8*/);
/*[IF*/
if((_rank)>(0)){
r21add_position((((T183*)_name))->_start_position/*4*/);
r21add_position(((T190*)(/*(IRF4.6name*/r191item(((T191*)(((T187*)((C)->_arguments/*49*/))->_flat_list/*8*/)),_rank)/*)*/))->_start_position/*4*/);
r21error((T21*)(oBC12eh),((T0*)ms34_112815));
}
/*FI]*/
}
/*FI]*/
}
else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_38712);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=(r34skip1(C,'\54'))||(r34skip1(C,'\73'));
}
else{
_state=5;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if(r34skip1(C,'\72')){
/*[IF*/
if((_name_list)!=((void*)(NULL))){
r185add_last(((T185*)_name_list),_name);
_name=NULL;
}
/*FI]*/
_state=3;
}
else{
/*[IF*/
if(((C)->_cc/*24*/)==('\73')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_29280);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\73');
}
else{
C->_ok=r34skip1(C,'\54');
}
/*FI]*/
/*[IF*/
if((_name_list)==((void*)(NULL))){
_name_list=se_ma185(1,
_name);
}
else{
r185add_last(((T185*)_name_list),_name);
}
/*FI]*/
_name=NULL;
_state=2;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if(r34a_identifier(C)){
_name=r109to_local_name1((T109*)(oBC34tmp_name));
_state=1;
/*[IF*/
if(((C)->_arguments/*49*/)!=((void*)(NULL))){
_rank=r187rank_of((T187*)((C)->_arguments/*49*/),(((T183*)_name))->_to_string/*8*/);
/*[IF*/
if((_rank)>(0)){
r21add_position((((T183*)_name))->_start_position/*4*/);
r21add_position(((T190*)(/*(IRF4.6name*/r191item(((T191*)(((T187*)((C)->_arguments/*49*/))->_flat_list/*8*/)),_rank)/*)*/))->_start_position/*4*/);
r21error((T21*)(oBC12eh),((T0*)ms34_112815a));
}
/*FI]*/
}
/*FI]*/
}
else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_38712);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=(r34skip1(C,'\54'))||(r34skip1(C,'\73'));
}
else{
_state=6;
}
/*FI]*/
}
else
if((3==z1)){
/*[IF*/
if(r34a_type(C)){
/*[IF*/
if((_name_list)!=((void*)(NULL))){
{T310*n=malloc(sizeof(*n));
*n=M310;
r310make(n,_name_list,(C)->_last_type/*157*/);
_declaration=(T0*)n;
}
_name_list=NULL;
}
else{
{T313*n=malloc(sizeof(*n));
*n=M313;
r313make(n,_name,(C)->_last_type/*157*/);
_declaration=(T0*)n;
}
_name=NULL;
}
/*FI]*/
/*[IF*/
if((_list)==((void*)(NULL))){
_list=se_ma308(1,
_declaration);
}
else{
r308add_last(((T308*)_list),_declaration);
}
/*FI]*/
_state=4;
}
else{
_state=6;
}
/*FI]*/
}
else{/*[IF*/
if(((C)->_cc/*24*/)==('\54')){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_29280a);
r34warning(r34current_position(C1),b1);
}/*]*/
C->_ok=r34skip1(C,'\54');
_state=0;
}
else{
C->_ok=r34skip1(C,'\73');
_state=0;
}
/*FI]*/
}}
}
/*[IF*/
if((_state)==(6)){
r34fcp(C,((T0*)ms34_36528));
}
else if((_list)!=((void*)(NULL))){
{T178*n=malloc(sizeof(*n));
*n=M178;
/*[IRF3.6make*/{T178* C1=n;
T0* b1=_list;
r178declaration_list_make(C1,b1);
}/*]*/
C->_local_vars=(T0*)n;
}
/*[IRF3.3set_local_vars*/((((T198*)((T198*)(oBC34tmp_feature))))->_local_vars)=((C)->_local_vars/*53*/);
/*]*/
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_is*/
T6 r34a_precursor(T34* C,T6 a1){
T6 R=0;
T0* _args=NULL;
T0* _parent=NULL;
T0* _sp=NULL;
/*[IF*/
if(r34skip1(C,'\173')){
R=1;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r34skip1(C,'\173')){
r34warning(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms34_104490a));
}
/*FI]*/
/*[IF*/
if(r34a_base_class_name(C)){
_parent=(C)->_last_class_name/*89*/;
}
/*FI]*/
/*[IF*/
if(!(r34skip1(C,'\175'))){
r34fcp(C,((T0*)ms34_202947));
}
/*FI]*/
/*[IF*/
if(r34skip1(C,'\175')){
r34warning(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms34_104490));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r34a_keyword(C,((T0*)ms14_13968))){
R=1;
/*[IF*/
if((_sp)==((void*)(NULL))){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
}
/*FI]*/
_args=r34a_actuals(C);
}
else if((_sp)!=((void*)(NULL))){
r34fcp(C,((T0*)ms34_63936));
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(r34skip1unless2(C,'\56','\56')){
{T175*n=malloc(sizeof(*n));
*n=M175;
r175make(n,_sp,_parent,_args);
C->_last_expression=(T0*)n;
}
r34a_after_a_dot(C,a1,(C)->_last_expression/*97*/);
}
else if(a1){
{T177*n=malloc(sizeof(*n));
*n=M177;
r177make(n,_sp,_parent,_args);
C->_last_instruction=(T0*)n;
}
}
else{
{T175*n=malloc(sizeof(*n));
*n=M175;
r175make(n,_sp,_parent,_args);
C->_last_expression=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.inside_once_function*/
/*No:EIFFEL_PARSER.us_neq*/
/*No:EIFFEL_PARSER.us_eq*/
T6 r34a_character_constant(T34* C){
T6 R=0;
T3 _value=0;
T2 _printing_mode=0;
T2 _state=0;
T0* _sp=NULL;
/*[IF*/
if(((C)->_cc/*24*/)==('\47')){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,(C)->_line/*16*/,(C)->_column/*12*/);
_sp=(T0*)n;
}
R=1;
while (!((_state)>(2))) {
r34next_char(C);
{int z1=_state;
if((0==z1)){
{int z2=(C)->_cc/*24*/;
if((37==z2)){
_state=1;
}
else
if((39==z2)){
r34fcp(C,((T0*)ms34_33741));
_state=2;
}
else{_value=(C)->_cc/*24*/;
_printing_mode=0;
_state=2;
}}
}
else
if((1==z1)){
_printing_mode=1;
_state=2;
{int z2=(C)->_cc/*24*/;
if((65==z2)){
_value='\100';
}
else
if((66==z2)){
_value='\10';
}
else
if((67==z2)){
_value='\136';
}
else
if((68==z2)){
_value='\44';
}
else
if((70==z2)){
_value='\14';
}
else
if((72==z2)){
_value='\134';
}
else
if((76==z2)){
_value='\176';
}
else
if((78==z2)){
_value='\n';
}
else
if((81==z2)){
_value='\140';
}
else
if((82==z2)){
_value='\15';
}
else
if((83==z2)){
_value='\43';
}
else
if((84==z2)){
_value='\11';
}
else
if((85==z2)){
_value='\0';
}
else
if((86==z2)){
_value='\174';
}
else
if((37==z2)){
_value='\45';
}
else
if((39==z2)){
_value='\47';
}
else
if((34==z2)){
_value='\42';
}
else
if((40==z2)){
_value='\133';
}
else
if((41==z2)){
_value='\135';
}
else
if((60==z2)){
_value='\173';
}
else
if((62==z2)){
_value='\175';
}
else
if((47==z2)){
r34a_ascii_code(C);
_value=((T3)((C)->_last_ascii_code/*61*/));
_printing_mode=2;
}
else{r34fcp(C,((T0*)ms34_45084));
}}
}
else{_state=3;
{int z2=(C)->_cc/*24*/;
if((39==z2)){
}
else{r34fcp(C,((T0*)ms34_33741));
}}
r34next_char(C);
r34skip_comments(C);
}}
}
{T170*n=malloc(sizeof(*n));
*n=M170;
r170make(n,_sp,_value,_printing_mode);
C->_last_character_constant=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.fatal_error*/
T6 r34a_free_operator(T34* C){
T6 R=0;
/*[IF*/
if((((((C)->_cc/*24*/)==('\100'))||(((C)->_cc/*24*/)==('\43')))||(((C)->_cc/*24*/)==('\174')))||(((C)->_cc/*24*/)==('\46'))){
R=1;
r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
r34next_char(C);
while (!((((((C)->_cc/*24*/)==('\n'))||(((C)->_cc/*24*/)==('\40')))||(((C)->_cc/*24*/)==('\11')))||(((C)->_cc/*24*/)==('\42')))) {
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
r34next_char(C);
}
r34skip_comments(C);
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.em10*/
/*No:EIFFEL_PARSER.us_gt*/
/*No:EIFFEL_PARSER.em11*/
/*No:EIFFEL_PARSER.em20*/
/*No:EIFFEL_PARSER.em12*/
/*No:EIFFEL_PARSER.em13*/
/*No:EIFFEL_PARSER.fz_c_withcurrent*/
void r34a_then_part_list(T34* C,T0* a1){
/*[IF*/
if(!(r34a_then_part(C,a1))){
r34fcp(C,((T0*)ms34_28035));
}
/*FI]*/
while (!(!(r34a_keyword(C,((T0*)ms13_6942))))) {
/*[IF*/
if(!(r34a_then_part(C,a1))){
r34fcp(C,((T0*)ms34_37875));
}
/*FI]*/
}
}
void r34warning(T0* a1,T0* a2){
r21add_position(a1);
r21warning((T21*)(oBC12eh),a2);
}
/*No:EIFFEL_PARSER.em15*/
/*No:EIFFEL_PARSER.em16*/
/*No:EIFFEL_PARSER.us_lt*/
T6 r34a_identifier2(T34* C){
T6 R=0;
T6 _do_warning=0;
T2 _state=0;
/*[IF*/
if(r3is_letter((C)->_cc/*24*/)){
r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
while (!((_state)>(0))) {
r34next_char(C);
{int z1=(C)->_cc/*24*/;
if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
}
else
if(((65<=z1)&&(z1<=90))){
_do_warning=1;
/*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
r7extend((T7*)(oBC109tmp_string),b1);
}/*]*/
}
else{_state=1;
}}
}
/*[IF*/
if(r109isa_keyword()){
_state=/*(IRF4.9count*/((T7*)(oBC109tmp_string))->_count/*4*//*)*/;
while (!((_state)==(0))) {
_state=(_state)-(1);
r34prev_char(C);
}
}
else{
R=1;
r34skip_comments(C);
/*[IF*/
if(_do_warning){
r34warning(r109start_position((T109*)(oBC34tmp_name)),((T0*)ms34_116325));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.current_line*/
/*No:EIFFEL_PARSER.em17*/
/*No:EIFFEL_PARSER.fz_obsolete*/
/*No:EIFFEL_PARSER.us_or*/
/*No:EIFFEL_PARSER.em18*/
/*No:EIFFEL_PARSER.us_bit*/
/*No:EIFFEL_PARSER.em19*/
void r34error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:EIFFEL_PARSER.fz_expanded*/
/*No:EIFFEL_PARSER.fz_infix*/
/*No:EIFFEL_PARSER.last_base_type*/
/*No:EIFFEL_PARSER.current_class_name*/
/*No:EIFFEL_PARSER.last_real_constant*/
/*No:EIFFEL_PARSER.last_bit_constant*/
T0* r34to_call(T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if((a2)==((void*)(NULL))){
R=a1;
}
else if((a3)==((void*)(NULL))){
{T150*n=malloc(sizeof(*n));
*n=M150;
r150make(n,a1,a2);
R=(T0*)n;
}
}
else if((X149count(a3))==(1)){
{T152*n=malloc(sizeof(*n));
*n=M152;
r152make(n,a1,a2,a3);
R=(T0*)n;
}
}
else{
{T153*n=malloc(sizeof(*n));
*n=M153;
r153make(n,a1,a2,a3);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.nb_warnings*/
/*No:EIFFEL_PARSER.fz_redefine*/
T0*oBC34tmp_feature=NULL;
/*No:EIFFEL_PARSER.fz_retry*/
/*No:EIFFEL_PARSER.us_xor*/
T6 r34a_e0(T34* C){
T6 R=0;
R=r34a_e1(C);
r34a_r1(C,(C)->_last_expression/*97*/);
return R;
}
T0* r34get_comments(T34* C){
T0* R=NULL;
R=(C)->_last_comments/*25*/;
C->_last_comments=NULL;
return R;
}
T6 r34a_e1(T34* C){
T6 R=0;
R=r34a_e2(C);
r34a_r2(C,(C)->_last_expression/*97*/);
return R;
}
/*No:EIFFEL_PARSER.us_not*/
T6 r34a_e2(T34* C){
T6 R=0;
R=r34a_e3(C);
r34a_r3(C,(C)->_last_expression/*97*/);
return R;
}
T6 r34a_then_part(T34* C,T0* a1){
T6 R=0;
T0* _expression=NULL;
/*[IF*/
if(r34a_expression(C)){
R=1;
_expression=X56add_comment((C)->_last_expression/*97*/,r34get_comments(C));
/*[IF*/
if(!(r34a_keyword(C,((T0*)ms13_1764)))){
/*[IRF3.6wcp*/{T34* C1=C;
T0* b1=((T0*)ms34_14027);
r34warning(r34current_position(C1),b1);
}/*]*/
}
/*FI]*/
r222add_if_then(((T222*)a1),_expression,r34a_compound1(C));
}
/*FI]*/
return R;
}
T6 r34a_e3(T34* C){
T6 R=0;
R=r34a_e4(C);
r34a_r4(C,(C)->_last_expression/*97*/);
return R;
}
/*No:EIFFEL_PARSER.us_array*/
T6 r34a_e4(T34* C){
T6 R=0;
R=r34a_e5(C);
r34a_r5(C,(C)->_last_expression/*97*/);
return R;
}
T6 r34a_e5(T34* C){
T6 R=0;
R=r34a_e6(C);
r34a_r6(C,(C)->_last_expression/*97*/);
return R;
}
T6 r34a_e6(T34* C){
T6 R=0;
R=r34a_e7(C);
r34a_r7(C,(C)->_last_expression/*97*/);
return R;
}
void r34go_back_at(T34* C,T2 a1,T2 a2){
C->_line=a1;
C->_column=a2;
C->_current_line=r72item((C)->_line/*16*/);
/*[IF*/
if(((C)->_column/*12*/)==((((T7*)((C)->_current_line/*20*/))->_count/*4*/)+(1))){
C->_cc='\n';
}
else if(((C)->_column/*12*/)==(0)){
C->_cc='\0';
}
else{
C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
}
/*FI]*/
}